Co je to chyba 404? Chyba HTTP 404 znamená, že webová stránka, na kterou odkaz odkazuje, neexistuje, tedy že URL původní webové stránky je neplatná, což se často stává a je obtížné tomu předejít, například: změny v pravidlech generování URL webových stránek, přejmenování nebo přesun souboru webové stránky, chybné pravopisy importovaného odkazu atd., což vede k nepřístupnosti původní URL adresy; Když webový server obdrží podobný požadavek, vrátí stavový kód 404, který prohlížeči sděluje, že požadovaný zdroj neexistuje. Výchozí chybová stránka 404 pro webové servery, ať už jde o Apache nebo IIS, je však velmi základní, nudná a neuživatelsky přívětivá a neposkytuje uživatelům potřebné informace pro získání dalších indicií, což nepochybně způsobí odchod uživatelů. Role 404 stran Vyhledávače používají HTTP stavové kódy k identifikaci stavu webové stránky. Když vyhledávač najde nesprávný odkaz, měl by web zobrazit stavový kód 404, který vyhledávači vyzývá, aby odkaz přestal indexovat. Pokud je vrácen stavový kód 200 nebo 302, vyhledávače odkaz indexují, což vede k velkému počtu různých odkazů směřujících na stejný webový obsah. Výsledkem je, že vyhledávače webu důvěřují mnohem méně. Jak zkontrolovat, že vlastní stránka 404 vrací stavový kód "404" Po nastavení vlastní chybové stránky 404 se ujistěte, že správně vrací stavový kód "404". Metoda kontroly je také poměrně jednoduchá – zadáte URL webu, který na stránce neexistuje, zkontrolujete návrat HTTP hlavičky a ujistěte se, že vrací stavový kód "404". 404 stran je správná věc, kterou udělat 1. Jak nastavit stránku Apache serveru 404 Přidejte kód do souboru .htaccess: ErrorDocument 404/Error.html Vytvořte jednoduchý HTML404 pojmenovávací Error.html Umístěte Error.html do kořenového adresáře vašeho webu. 2. Nastavte chybovou stránku 404 pod IIS/ASP.net Nejprve upravte nastavení kořenového adresáře aplikace, otevřete editaci souboru "web.config" a přidejte do něj následující obsah: <configuration> <system.web> <customErrors mode="Zapnuto" defaultRedirect="error.asp"> <error statusCode="404" přesměrování="notfound.asp" /> </customErrors> </system.web> </configuration>
V tomto příkladu je error.asp výchozí stránka 404 a notfound.asp je přizpůsobená stránka 404.
Poté přidejte vlastní stránku 404 "notfound.asp": <% Response.Status = "404 Not Found" %>
To zajišťuje, že IIS správně vrací stavový kód "404"
Přátelská připomínka 1. Ujistěte se, že chybu 404 nepřesměrujete přímo na domovskou stránku webu, což může způsobit, že vaše domovská stránka nebude zahrnuta; 2. /Error.html Prosím, nepřinášejte před něj hlavní doménové jméno (špatný pravopis: yzznl.cn/error.html, správné psaní :/error.html), jinak vrácený stavový kód je 302 nebo 200. Když hledáte, jak přizpůsobit stránku chyby 404 na asp.net webu, většina článků doporučuje jít na web.config, najít system.web a nastavit následující.
Zkopírovat kód Kód je následující:
<customErrors mode="Zapnuto" error statusCode="404" přesměrování="/404.htm" > </customErrors>
Ve skutečnosti po tomto postupu nedostanete informace o hlavičce nenalezené webové stránky 404, ale informace o hlavičce dočasného přesměrování 302. Můžete použít nástroj Check Headers Tool ke kontrole HTTP stavových kódů.
Jak tedy správně nastavit vlastní webové stránky s chybami 404 pro asp.net web?
Začněte vytvořením 404.aspx stránky a poté ji nakonfigurujte ve customeErrors v souboru web.config následovně: customErrors redirectMode="ResponseRewrite" error statusCode="404" přesměrování="~/404.aspx"/
/customErrors
RedirectMode má dvě vlastnosti. ResponseRedirect označuje přesměrování uživatele na tuto chybovou stránku a původní URL je změněna na URL této chybové stránky. ResponseRewrite označuje nasměrování uživatele na chybovou stránku bez změny původní URL v prohlížeči.
Poté do 404.aspx.cs souboru přidejte následující kód pro událost Page_Load: Zkopírovat kód Kód je následující:
chráněný void Page_Load(object sender, EventArgs e)
{ Response.Status = "404 Not Found";
}
|