Hva er en 404-feil? HTTP 404-feil betyr at nettsiden lenken peker til ikke eksisterer, det vil si at URL-en til den opprinnelige nettsiden er ugyldig, noe som ofte skjer og er vanskelig å unngå, for eksempel: endringer i genereringsreglene for nettsidens URL, omdøping eller flytting av nettsidefilen, feilstaving av den importerte lenken, osv., noe som gjør at den opprinnelige URL-adressen ikke er tilgjengelig; Når en webserver mottar en lignende forespørsel, returnerer den en 404-statuskode som forteller nettleseren at ressursen som skal forespørres ikke eksisterer. Imidlertid er standard 404-feilsiden for webservere, enten det er Apache eller IIS, svært rudimentær, kjedelig og ubrukervennlig, og gir ikke brukerne nødvendig informasjon for å få flere ledetråder, noe som utvilsomt vil føre til frafall i brukerne. Rollen til 404 sider Søkemotorer bruker HTTP-statuskoder for å identifisere statusen til en nettside. Når en søkemotor får en feil lenke, skal nettstedet returnere en 404-statuskode som forteller søkemotoren å slutte å indeksere lenken. Hvis en statuskode på 200 eller 302 returneres, indekserer søkemotorer lenken, noe som resulterer i et stort antall forskjellige lenker som peker til det samme nettinnholdet. Som et resultat stoler søkemotorer betydelig mindre på siden. Hvordan sjekke at en tilpasset 404-side returnerer en statuskode "404" Etter å ha satt opp den egendefinerte 404-feilsiden, sørg for å sjekke om statuskoden "404" er korrekt. Metoden for å sjekke er også ganske enkel: skriv inn URL-en til et nettsted som ikke finnes på nettsiden, sjekk tilbakekomsten av HTTP-headeren, og sørg for at den returnerer statuskoden "404". 404-side er det riktige å gjøre 1. Hvordan sette opp Apache server 404-siden Legg koden til .htaccess-filen: ErrorDocument 404/Error.html Bygg en enkel HTML404 sidenavning Error.html Plasser Error.html i rotkatalogen til nettsiden din. 2. Sett 404-feilsiden under IIS/ASP.net Først, endre innstillingene i rotkatalogen til applikasjonen, åpne "web.config"-filredigeringen, og legg til følgende innhold: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <feilstatusKode="404" omdiriger="notfound.asp" /> </customErrors> </system.web> </configuration>
I dette eksempelet er error.asp standard 404-side, og notfound.asp er en tilpasset 404-side.
Legg deretter til den egendefinerte 404-siden "notfound.asp": <% Response.Status = "404 ikke funnet" %>
Dette sikrer at IIS returnerer statuskoden "404" korrekt
Vennlig påminnelse 1. Pass på å ikke sende 404-feilen direkte til hjemmesiden til nettstedet, noe som kan føre til at startsiden din ikke blir inkludert; 2. /Error.html Vennligst ikke ta hoveddomenenavnet foran det (feil stavemåte: yzznl.cn/error.html, korrekt skrift :/error.html), ellers er statuskoden som returneres 302 eller 200 statuskode. Når du søker etter hvordan du kan tilpasse en 404-feilside fra asp.net nettside, sier de fleste artikler at du skal gå til web.config, finne system.web, og konfigurere følgende.
Kopier koden Koden er som følger:
<customErrors mode="On" feilstatusCode="404" omdiriger="/404.htm" > </customErrors>
Faktisk, etter å ha gjort dette, vil du ikke få header-informasjonen til den uoppdagede 404-siden, men header-informasjonen til den midlertidige 302-omdirigeringen. Du kan bruke verktøyet Check Headers Tool for å sjekke HTTP-statuskodene.
Så hvordan konfigurerer man tilpassede 404-feilsider riktig for asp.net nettside?
Start med å lage en 404.aspx-side, og konfigurer den deretter i customeErrors under web.config-filen som følger: customErrors redirectMode="ResponseRewrite" feilstatusKode="404" omdiriger="~/404.aspx"/
/customErrors
RedirectMode har to egenskaper. ResponseRedirect refererer til å omdirigere en bruker til den feilsiden, og den opprinnelige URL-en endres til URL-en til den feilsiden. ResponseRewrite refererer til å lede brukeren til feilsiden uten å endre den opprinnelige URL-en i nettleseren.
Deretter legger du til følgende kode for Page_Load-hendelsen i 404.aspx.cs-filen: Kopier koden Koden er som følger:
beskyttet void Page_Load(objektavsender, EventArgs e)
{ Response.Status = "404 ikke funnet";
}
|