2015-11-25 13 views
5

Ci scusiamo se questo è stato chiesto ... non è stato possibile trovare alcuna risposta valida. Ci sono alcuni tutorial ASP che mostra questo codice:Reindirizzare da una pagina 404 a una nuova pagina utilizzando ASP.Net

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

ma dove ho messo quel codice a se il file originale è inesistente? e non devo inserire il file originale nel codice per dire al server di passare dal file OLD al file NEW se le persone tentano di accedere al vecchio file?

So come eseguire un reindirizzamento per un server che può accettare reindirizzamenti utilizzando PHP in un file .htaccess. Ma questo sito su cui sto lavorando non accetterà il codice che ho che di solito funziona.

La pagina 404 mostrerà:

Errore del server in '/ pagehere'. Impossibile trovare la risorsa. Descrizione: HTTP 404. La risorsa che stai cercando (o una delle sue dipendenze) avrebbe potuto essere rimossa, il suo nome cambiato, o temporaneamente non disponibile. Controlla il seguente URL e assicurati che sia stato digitato correttamente.

URL richiesto:/pagehere

Informazioni sulla versione: Microsoft .NET Framework Version: 4.0.30319; Versione ASP.NET: 4.0.30319.34280

Desidero eseguire un reindirizzamento da oldpage.php a newpage.php. oldpage.php non esiste più.

File Whate devo creare o modificare e quale codice utilizzerei per il reindirizzamento? Grazie!

+0

È possibile configurare una pagina di errore personalizzata che utilizza l'URL richiesto e reindirizza a una nuova posizione. Ma perché il file originale non sarebbe più disponibile in primo luogo ?? Non è parte del tuo schieramento? – Dbuggy

+1

Controllare [IIS Url Rewriter] (http://www.iis.net/downloads/microsoft/url-rewrite). Fa esattamente quello che ti serve. –

+0

Bene i file possono essere cancellati o spostati da qualche altra parte. Non è il mio sito. Ci sto solo lavorando. ma la posizione del file è ancora indicizzata, quindi la migliore pratica SEO potrebbe essere quella di reindirizzare il file nella sua nuova posizione o eseguire la posizione desiderata. La domanda non dovrebbe essere "perché il file originale non esiste"? Ho solo bisogno di sapere quale codice di reindirizzamento utilizzare e quale file inserire il codice. I file possono essere cancellati o spostati su qualsiasi sito web.Ecco perché esistono codici di stato 404 e 301. – thomas

risposta

1

Se è possibile controllare il proprio web.config, è possibile aggiungere reindirizzamenti permanenti.

Un decente di riferimento rapido è a https://www.stokia.com/support/misc/web-config-response-redirect.aspx

da quel sito, si può fare singoli reindirizzamenti.

<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> 

Qui si sarebbe posto oldpage.html sotto il tag location.

<location path="oldpage.html"> 

Poi si sarebbe posto newpage.html uder il tag httpRedirect.

<httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 

Combinato in questo modo.

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

ma come fai a sapere dove è ** l'URL ** originale? se l'utente ha fatto clic su oldpage.html, come modificheresti il ​​codice in modo che la vecchia pagina venisse reindirizzata alla nuova pagina? oldpage.html a newpage.html? Il tuo codice mostra la destinazione, ma non l'origine. Il server mi mostra il file web.config quindi presumo di averne il controllo. Stavo tentando di eseguire il reindirizzamento tramite .htaccess ma non ha funzionato (presumo che htaccess non funzioni bene con asp). – thomas

+0

Ho aggiornato la risposta con qualche altro dettaglio. Fondamentalmente si posiziona la pagina originale all'interno del tag 'location' e la destinazione sotto' httpRedirect'. Se si utilizza IIS, .htaccess non sarebbe disponibile nella maggior parte dei casi. – Kirk

+0

Mi dà un errore di 500 quando lo provo. Questo è come appare il file web.config. Si noti che ho cancellato alcuni dati per motivi di sicurezza. http://pastebin.com/FWKLuM9j Cercando di capire dove mettere il codice di reindirizzamento su. Inserisco il tag '' sopra '' e il tag '' sotto '' ma ottengo un errore di 500 ... sito per manutenzione. – thomas

Problemi correlati