Vad är ett 404-fel? HTTP 404-felet innebär att webbsidan som länken pekar på inte existerar, det vill säga att URL:en till den ursprungliga webbsidan är ogiltig, vilket ofta händer och är svårt att undvika, såsom: ändringar i reglerna för generering av webbsidans URL:er, omdöpning eller flyttning av webbsidans fil, felstavning av den importerade länken, etc., vilket gör att den ursprungliga URL-adressen blir otillgänglig; När en webbserver mottar en liknande förfrågan returnerar den en 404-statuskod som talar om för webbläsaren att resursen som ska begäras inte existerar. Dock är standardfelsidan för 404 för webbservrar, oavsett om det är Apache eller IIS, mycket rudimentär, tråkig och oanvändarvänlig, och ger inte användarna nödvändig information för att få fler ledtrådar, vilket utan tvekan kommer att orsaka användaravhopp. Rollen för 404 sidor Sökmotorer använder HTTP-statuskoder för att identifiera statusen på en webbsida. När en sökmotor får en felaktig länk bör webbplatsen returnera en 404-statuskod som säger åt sökmotorn att sluta indexera länken. Om en statuskod på 200 eller 302 returneras, indexerar sökmotorerna länken, vilket resulterar i ett stort antal olika länkar som pekar på samma webbinnehåll. Som ett resultat litar sökmotorerna betydligt mindre på sidan. Hur man kontrollerar att en anpassad 404-sida returnerar en statuskod "404" Efter att ha satt upp den anpassade 404-felsidan, se till att kontrollera om statuskoden "404" korrekt återges. Metoden för att kontrollera är också ganska enkel: ange URL:en till en webbplats som inte finns på webbsidan, kontrollera återkomsten av HTTP-headern och se till att statuskoden "404" returneras. 404-sida är rätt sak att göra 1. Hur man sätter upp Apache-serverns 404-sida Lägg till koden i .htaccess-filen: ErrorDocument 404/Error.html Bygg en enkel HTML404 sidnamngivnings Error.html Placera Error.html i rotkatalogen på din webbplats. 2. Ställ in felsidan 404 under IIS/ASP.net Först ändrar du inställningarna i applikationens rotkatalog, öppnar filen "web.config" och lägger till följande innehåll i den: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <felstatusKod="404" omdiriger="notfound.asp" /> </customErrors> </system.web> </configuration>
I detta exempel är error.asp standardsidan för 404 och notfound.asp är en anpassad 404-sida.
Lägg sedan till den anpassade 404-sidan "notfound.asp": <% Svar.Status = "404 ej hittad" %>
Detta säkerställer att IIS returnerar statuskoden "404" korrekt
Vänlig påminnelse 1. Se till att inte rikta 404-felet direkt till webbplatsens startsida, vilket kan göra att din startsida inte inkluderas; 2. /Error.html Vänligen ta inte huvuddomännamnet framför den (fel stavning: yzznl.cn/error.html, korrekt skrivande :/error.html), annars är statuskoden 302 eller 200 statuskod. När du söker efter hur man anpassar en 404-felsida från asp.net webbplats, säger de flesta artiklar att du ska gå till web.config, hitta system.web och konfigurera följande.
Kopiera koden Koden är följande:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" > </customErrors>
Faktum är att efter detta får du inte headerinformationen för den 404 ohittade webbsidan, utan headerinformationen för den 302:s temporära omdirigering. Du kan använda verktyget Check Headers Tool för att kontrollera HTTP-statuskoderna.
Så hur konfigurerar man korrekt anpassade 404-felsidor för asp.net webbplats?
Börja med att skapa en 404.aspx sida, konfigurera den sedan i customeErrors under web.config-filen enligt följande: customErrors redirectMode="ResponseRewrite" error statusCode="404" redirect="~/404.aspx"/
/customErrors
RedirectMode har två egenskaper. ResponseRedirect syftar på att omdirigera en användare till den felsidan, och den ursprungliga URL:en ändras till URL:en för den felsidan. ResponseRewrite syftar på att hänvisa användaren till felsidan utan att ändra den ursprungliga URL:en i webbläsaren.
Lägg sedan till följande kod för Page_Load-händelsen i 404.aspx.cs-filen: Kopiera koden Koden är följande:
skyddat tomrum Page_Load(objektavsändare, EventArgs e)
{ Respons.Status = "404 ej hittad";
}
|