2015-11-25 8 views
5

Entschuldigung, wenn dies gefragt wurde ... konnte keine guten Antworten finden. Es gibt einige ASP-Tutorials, die diesen Code zeigt:Redirect von einer 404-Seite auf eine neue Seite mit ASP.Net

<% 
    Response.Redirect "http://www.w3schools.com" 
    %> 

aber wo platziere ich diesen Code auf, wenn die Original-Datei ist nicht existent? und muss ich nicht die Originaldatei in den Code einfügen, um dem Server mitzuteilen, von OLD-Datei zu NEW-Datei zu wechseln, wenn Leute versuchen, auf die alte Datei zuzugreifen?

Ich weiß, wie eine Weiterleitung für einen Server, der Weiterleitungen mit PHP in einer. Htaccess-Datei akzeptieren kann. Aber diese Seite, an der ich arbeite, wird den Code, den ich normalerweise habe, nicht akzeptieren.

Die 404-Seite zeigt:

Fehler Server in '/ pagehere' Anwendung. Die Ressource kann nicht gefunden werden. Beschreibung: HTTP 404. Die Ressource, nach der Sie suchen (oder eine ihrer Abhängigkeiten), wurde möglicherweise entfernt, der Name wurde geändert oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die folgende URL und vergewissern Sie sich, dass sie richtig geschrieben ist.

Angeforderte URL:/pagehere

Versionsinformationen: Microsoft .NET Framework Version: 4.0.30319; ASP.NET Version: 4.0.30319.34280

Ich möchte eine Umleitung von oldpage.php zu newpage.php machen. oldpage.php existiert nicht mehr.

Welche Datei erstelle oder bearbeite ich und welchen Code würde ich für die Weiterleitung verwenden? Vielen Dank!

+0

Sie können eine benutzerdefinierte Fehlerseite konfigurieren, die die angeforderte URL verwendet und an einen neuen Speicherort umleitet. Aber warum sollte die ursprüngliche Datei nicht mehr verfügbar sein? Ist das nicht Teil Ihrer Bereitstellung? – Dbuggy

+1

Überprüfen Sie den [IIS Url Rewriter] (http://www.iis.net/downloads/microsoft/url-rewrite). Es macht genau das, was Sie brauchen. –

+0

Well-Dateien können gelöscht oder anderswo verschoben werden. Es ist nicht meine Seite. Ich mache nur Arbeit daran. aber der Speicherort der Datei ist immer noch indiziert, so dass die beste SEO-Praxis darin bestünde, die Datei an ihren neuen Speicherort umzuleiten oder den gewünschten Speicherort zu finden. Die Frage sollte nicht lauten: "Warum existiert die Originaldatei nicht?" Ich muss nur wissen, welchen Umleitungscode zu verwenden ist und in welche Datei der Code eingefügt werden soll. Dateien können auf jeder Website gelöscht oder verschoben werden.Deshalb gibt es 404 und 301 Statuscodes. – thomas

Antwort

1

Wenn Sie Ihre web.config steuern können, können Sie permanente Weiterleitungen hinzufügen.

Ein anständiger schnelle Referenz ist bei https://www.stokia.com/support/misc/web-config-response-redirect.aspx

Von dieser Seite können Sie einzelne Umleitungen tun.

<configuration> 
    <location path="bing.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://bing.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="google.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://google.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="yahoo.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://yahoo.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
</configuration> 

Hier würden Sie oldpage.html unter dem location Tag legen.

<location path="oldpage.html"> 

Dann würden Sie newpage.html uder der httpRedirect Tag legen.

Kombiniert wie folgt.

<location path="oldpage.html"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 
    </system.webServer> 
</location> 
+0

aber woher wissen Sie, wo die ** ursprüngliche ** URL ist? Wenn der Benutzer auf oldpage.html klickt, wie würden Sie den Code so bearbeiten, dass die alte Seite auf die neue Seite umgeleitet wird? oldpage.html zu newpage.html? Ihr Code zeigt das Ziel, aber nicht die Herkunft. Der Server zeigt mir die Datei web.config an, also nehme ich an, dass ich die Kontrolle darüber habe. Ich habe versucht, die Umleitung über .htaccess zu tun, aber das hat nicht funktioniert (ich nehme an, htaccess funktioniert nicht gut mit asp). – thomas

+0

Ich habe die Antwort mit einigen weiteren Details aktualisiert. Im Grunde legen Sie die Originalseite innerhalb des 'location' Tags und das Ziel unter' httpRedirect'. Wenn Sie IIS verwenden, ist .htaccess in den meisten Fällen nicht verfügbar. – Kirk

+0

Gibt mir einen 500 Fehler, wenn ich es versuche. So sieht die Datei web.config aus. Beachten Sie, dass ich einige Daten aus Sicherheitsgründen gelöscht habe. http://pastebin.com/FWKLuM9j Ich versuche herauszufinden, wo ich den Umleitungscode einfügen soll. Ich habe den '' Tag über' 'und das' 'Tag unter' 'gesetzt, aber ich bekomme eine 500 Fehler ... Seite herunter für die Wartung. – thomas