htaccess: Fehlermeldung 404 gezielt unterdrücken
Tobbi
- webserver
Hey,
habe zur Zeit in meiner .htaccess u.a. folgende Angabe:
ErrorDocument 404 /fehler.shtml
Wie, wenn überhaupt, kann ich erreichen, dass bei bestimmten Aufrufen kein Fehler erzeugt wird (d.h. ErrorDocument ausser Kraft ist), wenn die betreffende Seite nicht vorhanden ist?
Beispiel:
Beim Aufruf foo.com/optional1.htm oder foo.com/optional2.htm oder ...
soll keine Fehlermeldung kommen, wenn die Seite nicht vorhanden ist,
in allen anderen Fällen soll jedoch ggf. ein Fehler erzeugt werden.
Grüße Tobbi
Hi Tobbi!
Beim Aufruf foo.com/optional1.htm oder foo.com/optional2.htm oder ...
soll keine Fehlermeldung kommen, wenn die Seite nicht vorhanden ist,
Sondern?
MfG H☼psel
Hallo!
Beim Aufruf foo.com/optional1.htm oder foo.com/optional2.htm oder ...
soll keine Fehlermeldung kommen, wenn die Seite nicht vorhanden ist,
in allen anderen Fällen soll jedoch ggf. ein Fehler erzeugt werden.
Wenn du eh weißt bei welchen Seiten kein Fehler kommen soll, dann leg halt solche Seiten an.
mfg
frafu
Hallo!
Wenn du eh weißt bei welchen Seiten kein Fehler kommen soll, dann leg halt solche Seiten an.
Das möchte ich ja gerade nicht,
da
1. ich dies in mehreren Domains machen müsste (mit jeweils dem gleichen Inhalt)
2. ich aber, wenn die Seite nicht gefunden wird eine Standard-Seite lese und ausgebe (die den o.g. Sstandard-Inhalt hat).
Ich muss vielleicht weiter ausholen.
Für die Seiten foo.com example.com etc. ist kein CGI möglich, wohl aber für bar.com.
Die Seiten foo.com example.com, etc. werden über .htacees auf
bar.com/cgi-bin/main.pl umgeleitet.
Das Programm bar.com/cgi-bin/main.pl sucht nun auf
foo.com bzw. example.com, etc. nach Dateien dir.html, content.html etc.
Sind diese vorhanden, werden sie zum Aufbau einer neuen Seite verwendet, wenn nicht, werden die entsprechenden Default-Seiten in foo.com/default/
verwendet.
Das Perl-Programm liest mit
$req = HTTP::Request->new('GET' => $url1);
$rc = $ua->request($req);
$seite = $rc->content();
if ($rc->is_success())
.....
und sollte also, wenn die Datei nicht vorhanden ist, einen entsprechenden returncode erhalten.
MfG
Tobbi
Hi,
Für die Seiten foo.com example.com etc.
Schoen, dass du example.com fuer Beispiele verwendest - aber foo.com ist ebenfalls eine real existierende Domain.
Das Perl-Programm liest mit
$req = HTTP::Request->new('GET' => $url1);
$rc = $ua->request($req);
$seite = $rc->content();
if ($rc->is_success())
.....
und sollte also, wenn die Datei nicht vorhanden ist, einen entsprechenden returncode erhalten.
Dann frage an der Stelle ab, ob der Request mit einem Statuscode 404 Not Found beantwortet wurde.
MfG ChrisB
Hi,
Für die Seiten foo.com example.com etc.
Schoen, dass du example.com fuer Beispiele verwendest - aber foo.com ist ebenfalls eine real existierende Domain.
Wie heißen dann die foos und bars?
Dann frage an der Stelle ab, ob der Request mit einem Statuscode 404 Not Found beantwortet wurde.
Das Programm läuft ja dadurch, dass ein Fehler erkannt wird, in die Wüste,
denn in dem foo.... wird durch ErrorDocument 404 /fehler.shtml
über die redirect-Angabe wieder umgeleitet in das bar......pl
In dem log der .htaccess sehe ich, dass wenn ein element gefunden wird nur drei Zeilen für foo.... vorhanden sind, wenn die Datei aber nicht gefunden wird eine ganze Arie.
Tobb
Das Programm läuft ja dadurch, dass ein Fehler erkannt wird, in die Wüste,
denn in dem foo.... wird durch ErrorDocument 404 /fehler.shtml
über die redirect-Angabe wieder umgeleitet in das bar......pl
Und über welche? Ohne diese zu kennen, ist es reine Spekulation dir zu sagen, wie du diese ausschließen könntest. Auch von Relevanz ist die verwendete Apache-Version.
In dem log der .htaccess sehe ich,
RewriteLog? Du nutzt also mod_rewrite?