Heim > Betrieb und Instandhaltung > Nginx > So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

王林
Freigeben: 2023-05-26 21:47:31
nach vorne
3850 Leute haben es durchsucht

404-Seitengrundkonfiguration
404-Fehler ist ein Fehler, der leicht beim Zugriff auf WWW-Websites auftritt. Die häufigste Fehlermeldung: 404 nicht gefunden. Die Einstellungen der 404-Fehlerseite haben großen Einfluss auf die SEO der Website. Unsachgemäße Einstellungen, wie z. B. die direkte Weiterleitung auf die Startseite usw., werden von Suchmaschinen herabgestuft und ausgenutzt. Der Zweck der 404-Seite sollte darin bestehen, dem Benutzer mitzuteilen, dass die von Ihnen angeforderte Seite nicht existiert, und den Benutzer dazu zu bringen, andere Seiten der Website zu durchsuchen, anstatt das Fenster zu schließen und zu verlassen. Suchmaschinen verwenden HTTP-Statuscodes, um den Status von Webseiten zu identifizieren. Wenn eine Suchmaschine einen fehlerhaften Link erhält, sollte die Website einen 404-Statuscode zurückgeben, um die Suchmaschine anzuweisen, die Indexierung des Links abzubrechen. Wenn ein Statuscode 200 oder 302 zurückgegeben wird, indiziert die Suchmaschine den Link, was zu einer großen Anzahl verschiedener Links führt, die auf denselben Webseiteninhalt verweisen. Dadurch haben Suchmaschinen ihr Vertrauen in die Website deutlich verringert.
Das Folgende ist ein Tutorial für lnmp zum Einrichten der Nginx-404-Fehlerseite:
1.

vi /usr/local/nginx/conf/nginx.conf
Nach dem Login kopieren

Bearbeiten Sie die Nginx-Konfigurationsdatei und fügen Sie den folgenden Code im http-Bereich hinzu:

fastcgi_intercept_errors on;
Nach dem Login kopieren

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

2 B. diese Seite:

vi /usr/local/nginx/conf/vhost/onelone.com.conf
Nach dem Login kopieren

, fügen Sie den folgenden Code im Serverabschnitt hinzu:

error_page 404 = /404.html;
Nach dem Login kopieren
Nach dem Login kopieren

Hinweis: Einige Internetnutzer haben getestet, dass der Upstream-Code das Gleichheitszeichen entfernen muss, um den korrekten 404-Status zurückzugeben, daher werden die Schüler gefragt um zu testen, ob das Gleichheitszeichen entfernt werden muss.

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

3. Testen Sie, ob die Konfigurationsdatei korrekt ist:

/usr/local/nginx/sbin/nginx -t
Nach dem Login kopieren

, geben Sie den folgenden Code zurück, um ihn zu übergeben:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
Nach dem Login kopieren

4. Starten Sie lnmp neu, damit er wirksam wird: /root/lnmp restart.

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

5. Hinweise zum Erstellen von 404-Fehlerseiten:
(1) Leiten Sie 404-Fehler nicht auf die Homepage der Website um, da dies sonst dazu führen kann, dass die Homepage herabgestuft wird oder in Suchmaschinen verschwindet.
(2) Verwenden Sie keine absoluten URLs. Wenn Sie absolute URLs verwenden, lautet der zurückgegebene Statuscode 302+200, wodurch eine große Anzahl doppelter Webseiten generiert wird.
(3) Die 404-Seiteneinstellung ist abgeschlossen. Überprüfen Sie unbedingt, ob sie korrekt ist. Die zurückgegebenen HTTP-Header-Informationen müssen den Status 404 haben. Dies kann mit dem Tool zur Überprüfung der Server-Header-Informationen überprüft werden.
(4) Springen Sie nicht automatisch zur 404-Seite, sondern lassen Sie den Benutzer entscheiden, wohin er gehen möchte.
Die benutzerdefinierte 404-Seite muss größer als 512 Byte sein, andernfalls wird möglicherweise die Standard-404-Seite von dh angezeigt.

Die von Ajax angeforderte 404-Seite kehrt zurück
Vor ein paar Tagen hatte ein Freund ein Problem mit seinem Programm, konnte das Problem jedoch nicht finden, egal wie er es überprüfte, also bat er mich, ihm zu helfen. Tatsächlich ist es Ajax, das viele Vorlagen anfordert und diese dann auf die Seite schreibt. Der Schlüssel ist, dass alle angeforderten Seiten einen normalen Statuscode von 200 zurückgeben. Oberflächlich betrachtet gibt es kein Problem. Obwohl einige Anfragen einen Statuscode von 200 zurückgeben, ist der zurückgegebene Statuscode 200. Der Webserver ist Nginx und hat mir direkt gesagt, dass er die 404-Fehlerseite von Nginx hätte konfigurieren sollen. Obwohl die Anforderung nicht vorhandener Ressourcen erfolgreich eine 404-Seite zurückgeben kann, ist der Rückgabestatuscode tatsächlich 200. ???

Angeforderte Seite nicht gefunden und gibt 404-Seiteninformationen zurück, aber der Statuscode ist immer noch 200, sodass jquery nicht den Fehlerfunktionsrückruf, sondern direkt den Erfolgsrückruf verwendet.
Es sollte ein Problem mit der Konfiguration vorliegen, also habe ich nginx.conf geöffnet und festgestellt, dass ihre Konfiguration geschrieben hat:

404.html
this is 404 page.
Nach dem Login kopieren
So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-SeiteAlso habe ich die offizielle Website-Dokumentation überprüft und den obigen Ausdruck umgeschrieben in:

$.ajax({
 url: "does_not_exist.html",
 success : function(response, textstatus){
 console.log(textstatus+":"+response);
 },
 error : function(xmlhttprequest, textstatus, errorthrown){
 console.log([xmlhttprequest, textstatus, errorthrown].join(","));
 }
});
Nach dem Login kopieren

Dann neu starten

error_page 404 = /404.html;
Nach dem Login kopieren
Nach dem Login kopieren

Kommen Sie noch einmal. Versuchen Sie:

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite


Werfen wir einen Blick auf die Ajax-Anfrage:

So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite


Im Vergleich zur vorherigen, die einen roten 404-Statuscode zurückgibt, ist das offensichtlich, was aus dem untenstehenden console.log hervorgeht ist

error_page 404 /404.html;
Nach dem Login kopieren

und klicken Sie dann auf Objekt eingeben und sehen Sie:


Statuswert ist 404. Es kann nicht nur die 404-Seite zurückgeben, sondern auch den 404-Statuscode, sodass die Ajax-Anfrage den Status der Seitenanforderung anhand des Statuscodes beurteilen und Fehler behandeln kann.

Hier sind die Ergänzungen von anderen Internetnutzern: So konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite

1. Der Grund, warum die Nginx-Fehlerseite elegant angezeigt wird?
Wenn wir die Website besuchen, treten aus besonderen Gründen häufig Fehler wie 403, 404, 503 auf, was sich stark auf das Zugriffserlebnis des Benutzers auswirkt. Daher ist es für uns erforderlich, die Anzeige der Fehlerseite eleganter zu gestalten, um sie zu verbessern das Surferlebnis des Benutzers.

2. Wie definiere ich eine elegant angezeigte Seite unter Nginx?
Nehmen wir den 404-Fehler als Beispiel:
1. Erstellen Sie Ihre eigene 404.html-Seite und platzieren Sie sie im Site-Verzeichnis .conf-Konfigurationsdatei, fügen Sie fastcgi_intercept_errors im http-Modul hinzu;
3 Ändern Sie die nginx.conf-Konfigurationsdatei und fügen Sie hinzu: error_page 404 /404.html; 404 im Servermodul. Überprüfen Sie nach der Änderung die Syntax /nginx/sbin/nginx -t und starten Sie nginx neu;
Jetzt ist die elegante Anzeige der 404-Fehlerseite konfiguriert.

Ziehen Sie Rückschlüsse aus einem Beispiel: 502, 403 und andere Fehler können auf die gleiche Weise konfiguriert werden.

error_page 500 502 503 504 /50x.html;

error_page 403 /403.html;
Hinweis:
Die beiden Voraussetzungen, damit die Fehlerumleitung in Nginx wirksam wird, sind: Festlegen von Fastcgi_intercept_errors aktiviert und die Option „error_page“ ist korrekt eingestellt.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die 404-Seite in Nginx und die AJAX-Anfrage zur Rückgabe der 404-Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage