Mi az a 404-es hiba? HTTP 404 hiba azt jelenti, hogy az a weboldal, amelyre a link nem mutat, vagyis az eredeti weboldal URL-je érvénytelen, ami gyakran előfordul és nehéz elkerülni, például: a weboldal URL-generálási szabályainak változása, a weboldal fájl átnevezése vagy áthelyezése, az importált link helyesírása stb., ami miatt az eredeti URL-cím elérhetetlen lesz; Amikor egy webszerver hasonló kérést kap, egy 404-es státuszkódot ad vissza, amely jelezi a böngészőnek, hogy a kérendő erőforrás nem létezik. Azonban a webszerverek alapértelmezett 404-es hibaoldala, legyen az Apache vagy IIS, nagyon kezdetleges, unalmas és felhasználóbarátságos, és nem adja meg a felhasználóknak a szükséges információkat további nyomokhoz, ami kétségtelenül a felhasználói felvonulást okozza. A 404 oldal szerepe A keresőmotorok HTTP státuszkódokat használnak az oldal állapotának azonosítására. Ha egy keresőmotor hibás linket kap, a weboldalnak 404-es státuszkódot kell visszaadnia, amely felszólítja a keresőmotort, hogy hagyja abba a link indexelését. Ha visszaadnak egy 200 vagy 302-es státuszkódot, a keresőmotorok indexelik a linket, így számos különböző link mutat ugyanarra a webes tartalomra. Ennek eredményeként a keresőmotorok jelentősen kevésbé bíznak az oldalon. Hogyan ellenőrizhetjük, hogy egy egyedi 404-es oldal "404" státuszkódot ad-e vissza Miután beállítottad az egyedi 404 hibaoldalt, győződj meg róla, hogy helyesen visszaadja a "404" státuszkódot. Az ellenőrzés módszere is elég egyszerű: írd be egy weboldal URL-jét, amely nem létezik a weboldalon, ellenőrizd a HTTP fejléc visszatérését, és győződj meg róla, hogy a "404" státuszkódot adja vissza. A 404-es oldal a helyes döntés 1. Hogyan állítsuk be az Apache szerver 404-es oldalát A kódot a .htaccess fájlba adjuk hozzá: ErrorDocument 404/Error.html Építs egy egyszerű HTML404 oldal elnevezését Error.html Helyezd Error.html a weboldalad gyökérkönyvtárába. 2. Állítsd be a 404-es hibaoldalt az IIS/ASP.net alá Először módosítsd az alkalmazás gyökérkönyvtárának beállításait, nyisd meg a "web.config" fájl szerkesztést, és add hozzá a következő tartalmat: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <error statusCode="404" redirect="notfound.asp" /> </customErrors> </system.web> </configuration>
Ebben a példában error.asp az alapértelmezett 404-es oldal, notfound.asp pedig egy testreszabott 404-es oldal.
Ezután add hozzá az egyedi 404-es oldal "notfound.asp"-jét: <% Response.Status = "404 nem talált" %>
Ez biztosítja, hogy az IIS helyesen adja vissza a "404" státuszkódot
Baráti emlékeztető 1. Ügyelj arra, hogy a 404-es hibát ne irányítsd közvetlenül a weboldal kezdőlapjára, mert az okozhatja, hogy a kezdőlapod nem kerül bele; 2. /Error.html Kérjük, ne hozza a fő domain nevet eléjük (helyes írásmód: yzznl.cn/error.html, helyes írás :/error.html), különben a státuszkód 302 vagy 200 státuszkód lesz. Amikor azt keresed, hogyan lehet testreszabni egy 404-es hibaoldalt asp.net weboldalról, a legtöbb cikk azt mondja, hogy menj a web.config oldalra, keresd meg a system.web-et, és konfiguráld a következőket.
Másolási kód A kód a következő:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" > </customErrors>
Valójában ennek után nem a 404-es találatlan weboldal fejlécinformációját kapod meg, hanem a 302-es ideiglenes átirányítás fejlécinformációját. A Fejlécek Ellenőrzése Eszköz eszközzel ellenőrizheted a HTTP státuszkódokat.
Hogyan lehet megfelelően konfigurálni az egyedi 404 hibás weboldalakat asp.net weboldalhoz?
Kezdjük azzal, hogy készíts egy 404.aspx oldalt, majd konfiguráld a customeErrors oldalon a web.config fájl alatt a következőként: customErrors redirectMode="ResponseRewrite" error statusCode="404" redirect="~/404.aspx"/
/customErrors
A RedirectMode-nak két tulajdonsága van. A ResponseRedirect azt jelenti, hogy egy felhasználót átirányítanak az adott hibaoldalra, és az eredeti URL az adott hibaoldal URL-jére változik. A ResponseRewrite azt jelenti, hogy a felhasználót a hibaoldalra irányítják anélkül, hogy megváltoztatnánk az eredeti URL-t a böngészőben.
Ezután a 404.aspx.cs fájlba adjuk hozzá a következő kódot a Page_Load eseményhez: Másolási kód A kód a következő:
protected void Page_Load(object sender, EventArgs e)
{ Response.Status = "404 nem talált";
}
|