Czym jest błąd 404? Błąd HTTP 404 oznacza, że strona, do której wskazuje link, nie istnieje, czyli adres URL oryginalnej strony jest nieprawidłowy, co często się zdarza i trudno temu uniknąć, na przykład: zmiany w regułach generowania URL strony, zmiana nazwy lub przeniesienie pliku strony, błędne zapisywanie importowanego linku itp., co skutkuje niedostępnością oryginalnego adresu URL; Gdy serwer WWW otrzyma podobne żądanie, zwraca kod statusu 404, informujący przeglądarkę, że zasób, o który ma być zamówiony, nie istnieje. Jednak domyślna strona błędu 404 dla serwerów WWW, czy to Apache, czy IIS, jest bardzo prymitywna, nudna i nieprzyjazna dla użytkownika, nie dostarczając użytkownikom niezbędnych informacji do uzyskania większej liczby wskazówek, co z pewnością spowoduje odejście użytkowników. Rola 404 stron Wyszukiwarki używają kodów statusu HTTP do identyfikacji statusu strony internetowej. Gdy wyszukiwarka otrzyma błędny link, strona powinna zwrócić kod statusu 404, który nakazuje wyszukiwarce porzucić indeksowanie linku. Jeśli zwrócony zostanie kod statusu 200 lub 302, wyszukiwarki indeksują link, co skutkuje dużą liczbą różnych linków prowadzących do tej samej treści internetowej. W rezultacie wyszukiwarki znacznie mniej ufają tej stronie. Jak sprawdzić, czy niestandardowa strona 404 zwraca kod statusu "404" Po skonfigurowaniu niestandardowej strony błędu 404 upewnij się, że poprawnie zwraca kod statusu "404". Metoda sprawdzania jest również dość prosta: wpisujesz adres URL strony, która nie istnieje na stronie, sprawdzasz zwrot nagłówka HTTP i upewniasz się, że zwraca kod statusu "404". 404 strony to właściwa decyzja 1. Jak skonfigurować stronę serwera Apache 404 Dodaj kod do pliku .htaccess: ErrorDocument 404/Error.html Zbuduj prosty HTML404 nazewnictwa stron Error.html Umieść Error.html w katalogu głównym swojej strony. 2. Ustaw stronę błędu 404 w IIS/ASP.net Najpierw zmodyfikuj ustawienia katalogu głównego aplikacji, otwórz edycję pliku "web.config" i dodaj do niego następującą zawartość: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <error statusCode="404" przekierowanie="notfound.asp" /> </customErrors> </system.web> </configuration>
W tym przykładzie error.asp jest domyślną stroną 404, a notfound.asp jest spersonalizowaną stroną 404.
Następnie dodaj niestandardową stronę 404 "notfound.asp": <% Response.Status = "404 Nie znaleziono" %>
Zapewnia to, że IIS poprawnie zwraca kod statusu "404"
Przyjazne przypomnienie 1. Upewnij się, że błąd 404 nie kieruje bezpośrednio na stronę główną witryny, co może spowodować, że strona główna nie zostanie uwzględniona; 2. /Error.html Prosimy nie podawać głównej nazwy domeny przed nią (błędna pisownia: yzznl.cn/error.html, poprawne zapisy :/error.html), w przeciwnym razie zwracany kod statusu to 302 lub 200. Szukając informacji o tym, jak dostosować stronę błędu 404 na asp.net stronie, większość artykułów zaleca wejście na web.config, znalezienie system.web i skonfigurowanie następujących rzeczy.
Skopiuj kod Kod wygląda następująco:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" > </customErrors>
W rzeczywistości po wykonaniu tego procesu nie otrzymasz informacji o nagłówku strony 404 nieodkrytej, lecz informacje o nagłówku tymczasowego przekierowania 302. Możesz użyć narzędzia Check Headers Tool, aby sprawdzić kody statusu HTTP.
Jak więc prawidłowo skonfigurować niestandardowe strony z błędami 404 dla asp.net strony?
Zacznij od stworzenia 404.aspx strony, a następnie skonfiguruj ją w customeErrors w pliku web.config w następujący sposób: customErrors redirectMode="ResponseRewrite" faultStatusCode="404" redirect="~/404.aspx"/
/customErrors
RedirectMode ma dwie właściwości. ResponseRedirect odnosi się do przekierowania użytkownika na tę stronę błędu, a oryginalny adres URL zostaje zmieniony na adres URL tej strony błędu. ResponseRewrite odnosi się do kierowania użytkownika na stronę błędu bez zmiany oryginalnego adresu URL w przeglądarce.
Następnie w pliku 404.aspx.cs dodaj następujący kod dla zdarzenia Page_Load: Skopiuj kod Kod wygląda następująco:
chroniona pustka Page_Load(nadawca obiektu, EventArgs e)
{ Response.Status = "404 Nie znaleziono";
}
|