Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 15179|Απάντηση: 0

[ASP.NET] Asp.Net Ρύθμιση σελίδας 404

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 24/12/2015 5:39:45 μ.μ. | | | |


Τι είναι το σφάλμα 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 Δεν βρέθηκε";
}





Προηγούμενος:Captcha σελίδας ASPX έναντι MVC
Επόμενος:c# Το SmtpClient στέλνει τον πηγαίο κώδικα του email
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com