Hvad er en 404-fejl? HTTP 404-fejl betyder, at den webside, som linket peger på, ikke eksisterer, det vil sige, at URL'en på den oprindelige webside er ugyldig, hvilket ofte sker og er svært at undgå, såsom: ændringer i reglerne for generering af websidens URL'er, omdøbning eller flytning af webfilen, stavefejl af det importerede link osv., hvilket resulterer i, at den oprindelige URL-adresse ikke er tilgængelig; Når en webserver modtager en lignende anmodning, returnerer den en 404-statuskode, der fortæller browseren, at den ressource, der skal anmodes, ikke eksisterer. Dog er standard 404-fejlsiden for webservere, uanset om det er Apache eller IIS, meget rudimentær, kedelig og ubrugervenlig, og giver ikke brugerne de nødvendige oplysninger til at få flere spor, hvilket uden tvivl vil føre til brugerfrafald. Rollen for 404 sider Søgemaskiner bruger HTTP-statuskoder til at identificere status på en webside. Når en søgemaskine får et forkert link, bør hjemmesiden returnere en 404-statuskode, der fortæller søgemaskinen at opgive indekseringen af linket. Hvis en statuskode på 200 eller 302 returneres, indekserer søgemaskiner linket, hvilket resulterer i et stort antal forskellige links, der peger på det samme webindhold. Som følge heraf stoler søgemaskinerne betydeligt mindre på siden. Hvordan tjekker man, at en brugerdefineret 404-side returnerer en "404" statuskode Efter at have oprettet den brugerdefinerede 404-fejlside, skal du sikre dig, at den korrekt returnerer statuskoden "404". Metoden til at tjekke er også ret enkel: Indtast URL'en på en hjemmeside, der ikke findes på websiden, tjek HTTP-headerens retur, og sørg for, at den returnerer statuskoden "404". 404-side er det rigtige at gøre 1. Hvordan opsætter man Apache-serverens 404-side Tilføj koden til .htaccess-filen: ErrorDocument 404/Error.html Byg en simpel HTML404 sidenavngivning Error.html Placer Error.html i rodmappen på din hjemmeside. 2. Sæt 404-fejlsiden under IIS/ASP.net Først skal du ændre indstillingerne i applikationens rodmappe, åbne "web.config" filredigeringen og tilføje følgende indhold: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <fejlstatuskode="404" omdiriger="notfound.asp" /> </customErrors> </system.web> </configuration>
I dette eksempel er error.asp standard 404-siden, og notfound.asp er en tilpasset 404-side.
Tilføj derefter den brugerdefinerede 404-side "notfound.asp": <% Svar.Status = "404 ikke fundet" %>
Dette sikrer, at IIS returnerer statuskoden "404" korrekt
Venlig påmindelse 1. Sørg for ikke at dirigere 404-fejlen direkte til hjemmesidens forside, da det kan medføre, at din forside ikke bliver inkluderet; 2. /Error.html Venligst ikke at bringe hoveddomænenavnet foran det (forkert stavemåde: yzznl.cn/error.html, korrekt skrivning :/error.html), ellers er den returnerede statuskode 302 eller 200 statuskode. Når man søger efter, hvordan man tilpasser en 404-fejlside fra asp.net hjemmeside, fortæller de fleste artikler, at man skal gå til web.config, finde system.web og konfigurere følgende.
Kopier koden Koden er som følger:
<customErrors mode="On" fejlstatusCode="404" redirect="/404.htm" > </customErrors>
Faktisk vil du efter dette ikke få header-informationen for den 404-ufundne webside, men header-informationen for den midlertidige 302-omdirigering. Du kan bruge Check Headers Tool-værktøjet til at tjekke HTTP-statuskoderne.
Så hvordan konfigurerer man korrekt brugerdefinerede 404-fejlsider til asp.net hjemmeside?
Start med at lave en 404.aspx-side, og konfigurer den derefter i customeErrors under web.config-filen som følger: customErrors redirectMode="ResponseRewrite" error statusCode="404" redirect="~/404.aspx"/
/customErrors
RedirectMode har to egenskaber. ResponseRedirect henviser til at omdirigere en bruger til den fejlside, og den oprindelige URL ændres til URL'en på den fejlside. ResponseRewrite henviser til at henvise brugeren til fejlsiden uden at ændre den oprindelige URL i browseren.
Tilføj derefter følgende kode til Page_Load-eventet i 404.aspx.cs-filen: Kopier koden Koden er som følger:
beskyttet void Page_Load(objektafsender, EventArgs e)
{ Svar.Status = "404 ikke fundet";
}
|