Hallo,
ich hab' auf meinen Servern seit langem ein PHP laufen, per Mail alle 404 Fehler meldet. So kann ich schnell eingreifen, wenn es Probleme gibt.
Nun haben wir auf einem Server das komplette Programm umgebaut und es gibt natürlich Tonnen von 404s.
Soweit gut, ABER nun habe ich gesehen, dass der Robot Scooter diverse Seiten doppelt und dreifach abfragt und hab' mich gewundert. Mit 'nem Sniffer habe ich das Protokoll abgefragt und gesehen, dass 'meine' Fehlerseite natürlich einen Status "200 Found" erzeugt, den die Robots dann als OK ansehen und die Seite im Verzeichnis halten.
Also habe ich in mein Fehlerscript einen header("HTTP/1.1 404 Not Found"); eingebaut.
Doch nun meldet der Server einen Fehler 404 plus "Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."
die zugehörige .htaccess sieht so aus:
> ErrorDocument 404 /error.php
> RewriteEngine on
> RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L]
> RewriteRule ^index\.html /index.php [R]
Wenn ich die error.php direkt aufrufe, kommt "Internal Server Error".
Die gleiche Anweisung auf einer anderen Domain (ohne htaccess)
funktioniert.
Wird durch die htaccess ein Loop erzeugt?
Wenn also ein Fehler auftritt und das in htaccess angegebene Script einen Header 404 erzeugt, wird dann wieder die htaccess aktiv?
Kann doch eigentlich nicht sein.
Wo ist mein Denkfehler?
Bzw. wie kann ich den Loop verhindern?
Gruß
gb
ich hab' auf meinen Servern seit langem ein PHP laufen, per Mail alle 404 Fehler meldet. So kann ich schnell eingreifen, wenn es Probleme gibt.
Nun haben wir auf einem Server das komplette Programm umgebaut und es gibt natürlich Tonnen von 404s.
Soweit gut, ABER nun habe ich gesehen, dass der Robot Scooter diverse Seiten doppelt und dreifach abfragt und hab' mich gewundert. Mit 'nem Sniffer habe ich das Protokoll abgefragt und gesehen, dass 'meine' Fehlerseite natürlich einen Status "200 Found" erzeugt, den die Robots dann als OK ansehen und die Seite im Verzeichnis halten.
Also habe ich in mein Fehlerscript einen header("HTTP/1.1 404 Not Found"); eingebaut.
Doch nun meldet der Server einen Fehler 404 plus "Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."
die zugehörige .htaccess sieht so aus:
> ErrorDocument 404 /error.php
> RewriteEngine on
> RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L]
> RewriteRule ^index\.html /index.php [R]
Wenn ich die error.php direkt aufrufe, kommt "Internal Server Error".
Die gleiche Anweisung auf einer anderen Domain (ohne htaccess)
funktioniert.
Wird durch die htaccess ein Loop erzeugt?
Wenn also ein Fehler auftritt und das in htaccess angegebene Script einen Header 404 erzeugt, wird dann wieder die htaccess aktiv?
Kann doch eigentlich nicht sein.
Wo ist mein Denkfehler?
Bzw. wie kann ich den Loop verhindern?
Gruß
gb
Kommentar