Τι είναι το σφάλμα 404; Το σφάλμα HTTP 404 σημαίνει ότι η ιστοσελίδα στην οποία οδηγεί ο σύνδεσμος δεν υπάρχει, δηλαδή η διεύθυνση URL της αρχικής ιστοσελίδας δεν είναι έγκυρη, κάτι που συμβαίνει συχνά και είναι δύσκολο να αποφευχθεί, όπως: αλλαγές στους κανόνες δημιουργίας URL της ιστοσελίδας, μετονομασία ή μετακίνηση του αρχείου ιστοσελίδας, ορθογραφικά λάθη του εισαγόμενου συνδέσμου κ.λπ., με αποτέλεσμα η αρχική διεύθυνση URL να μην είναι προσβάσιμη. Όταν ένας διακομιστής ιστού λαμβάνει ένα παρόμοιο αίτημα, επιστρέφει έναν κωδικό κατάστασης 404 που λέει στο πρόγραμμα περιήγησης ότι ο πόρος που θα ζητηθεί δεν υπάρχει. Ωστόσο, η προεπιλεγμένη σελίδα σφάλματος 404 για διακομιστές ιστού, είτε Apache είτε IIS, είναι πολύ στοιχειώδης, βαρετή και μη φιλική προς το χρήστη και δεν παρέχει στους χρήστες τις απαραίτητες πληροφορίες για να λάβουν περισσότερες ενδείξεις, κάτι που αναμφίβολα θα προκαλέσει ανατροπή χρηστών. Ο ρόλος των 404 σελίδων Οι μηχανές αναζήτησης χρησιμοποιούν κωδικούς κατάστασης HTTP για να προσδιορίσουν την κατάσταση μιας ιστοσελίδας. Όταν μια μηχανή αναζήτησης λαμβάνει λανθασμένο σύνδεσμο, ο ιστότοπος θα πρέπει να επιστρέψει έναν κωδικό κατάστασης 404 που λέει στη μηχανή αναζήτησης να εγκαταλείψει την ευρετηρίαση του συνδέσμου. Εάν επιστραφεί ένας κωδικός κατάστασης 200 ή 302, οι μηχανές αναζήτησης ευρετηριάζουν τον σύνδεσμο, με αποτέλεσμα έναν μεγάλο αριθμό διαφορετικών συνδέσμων που οδηγούν στο ίδιο περιεχόμενο ιστού. Ως αποτέλεσμα, οι μηχανές αναζήτησης εμπιστεύονται τον ιστότοπο σημαντικά λιγότερο. Πώς να ελέγξετε ότι μια προσαρμοσμένη σελίδα 404 επιστρέφει έναν κωδικό κατάστασης "404" Αφού ρυθμίσετε την προσαρμοσμένη σελίδα σφάλματος 404, βεβαιωθείτε ότι έχετε ελέγξει εάν επιστρέφει σωστά τον κωδικό κατάστασης "404". Η μέθοδος ελέγχου είναι επίσης αρκετά απλή, εισαγάγετε τη διεύθυνση URL ενός ιστότοπου που δεν υπάρχει στην ιστοσελίδα, ελέγξτε την επιστροφή της κεφαλίδας HTTP και βεβαιωθείτε ότι επιστρέφει τον κωδικό κατάστασης "404". Η σελίδα 404 είναι το σωστό 1. Πώς να ρυθμίσετε τη σελίδα διακομιστή Apache 404 Προσθέστε τον κώδικα στο αρχείο .htaccess: ErrorDocument 404/Error.html Δημιουργήστε ένα απλό HTML404 Error.html ονομασίας σελίδων Τοποθετήστε Error.html στον ριζικό κατάλογο του ιστότοπού σας. 2. Ορίστε τη σελίδα σφάλματος 404 στο IIS/ASP.net Αρχικά, τροποποιήστε τις ρυθμίσεις του ριζικού καταλόγου της εφαρμογής, ανοίξτε την επεξεργασία αρχείου "web.config" και προσθέστε το ακόλουθο περιεχόμενο σε αυτό: <configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <error statusCode="404" redirect="notfound.asp" /> </customErrors> </system.web> </configuration>
Σε αυτό το παράδειγμα, το error.asp είναι η προεπιλεγμένη σελίδα 404 και το notfound.asp είναι μια προσαρμοσμένη σελίδα 404.
Στη συνέχεια, προσθέστε την προσαρμοσμένη σελίδα 404 "notfound.asp": <% Response.Status = "404 Δεν βρέθηκε" %>
Αυτό διασφαλίζει ότι οι υπηρεσίες IIS επιστρέφουν σωστά τον κωδικό κατάστασης "404"
Φιλική υπενθύμιση 1. Βεβαιωθείτε ότι δεν κατευθύνετε το σφάλμα 404 απευθείας στην αρχική σελίδα του ιστότοπου, κάτι που μπορεί να προκαλέσει τη μη συμπερίληψη της αρχικής σας σελίδας. 2. /Error.html Μην φέρετε το κύριο όνομα τομέα μπροστά του (λάθος ορθογραφία: yzznl.cn/error.html, σωστή γραφή :/error.html), διαφορετικά ο κωδικός κατάστασης που επιστρέφεται είναι 302 ή 200 κωδικός κατάστασης. Κατά την αναζήτηση του τρόπου προσαρμογής μιας σελίδας σφάλματος 404 από asp.net ιστότοπο, τα περισσότερα άρθρα σάς λένε να μεταβείτε στο web.config, να βρείτε το system.web και να διαμορφώσετε τα ακόλουθα.
Αντιγραφή κωδικού Ο κώδικας έχει ως εξής:
<customErrors mode="On" error statusCode="404" redirect="/404.htm" > </customErrors>
Στην πραγματικότητα, αφού το κάνετε αυτό, δεν θα λάβετε τις πληροφορίες κεφαλίδας της ιστοσελίδας 404 που δεν βρέθηκε, αλλά τις πληροφορίες κεφαλίδας της προσωρινής ανακατεύθυνσης 302. Μπορείτε να χρησιμοποιήσετε το εργαλείο Check Headers Tool για να ελέγξετε τους κωδικούς κατάστασης HTTP.
Λοιπόν, πώς να διαμορφώσετε σωστά τις προσαρμοσμένες ιστοσελίδες σφαλμάτων 404 για τον ιστότοπό asp.net;
Ξεκινήστε δημιουργώντας μια σελίδα 404.aspx και, στη συνέχεια, διαμορφώστε την στο customeErrors κάτω από το αρχείο web.config ως εξής: customErrors redirectMode="ResponseRewrite" error statusCode="404" redirect="~/404.aspx"/
/customErrors
Το RedirectMode έχει δύο ιδιότητες. Το ResponseRedirect αναφέρεται στην ανακατεύθυνση ενός χρήστη σε αυτήν τη σελίδα σφάλματος και η αρχική διεύθυνση URL αλλάζει στη διεύθυνση URL αυτής της σελίδας σφάλματος. Το ResponseRewrite αναφέρεται στην κατεύθυνση του χρήστη στη σελίδα σφάλματος χωρίς αλλαγή της αρχικής διεύθυνσης URL στο πρόγραμμα περιήγησης.
Στη συνέχεια, στο αρχείο 404.aspx.cs, προσθέστε τον ακόλουθο κώδικα για το συμβάν Page_Load: Αντιγραφή κωδικού Ο κώδικας έχει ως εξής:
προστατευμένο void Page_Load(αποστολέας αντικειμένου, EventArgs e)
{ Response.Status = "404 Δεν βρέθηκε";
}
|