Hallo,
warum das? Da wäre es einfacher und sinnvoller, ein 404-ErrorDocument festzulegen.
Das habe ich neulich auch mal versucht:
ErrorDocument 404 /index.phpIch wollte damit allen Ernstes eine Menge Rewrite-Regeln "erschlagen". Problem: Der Apache ließ sich jedenfalls von mir nicht überzeugen den "404er" NICHT zu senden.
okay, aber *das* wäre dann IMO wieder ein Missbrauch des ErrorDocument. Bei der Fragestellung von Werner, insbesondere der Formulierung "fehlerhaft eingegebenen URLs", gehe ich davon aus, dass er eigentlich einen 404er-Status senden will. Zumindest denke ich, er sollte das wollen. ;-)
Davon abgesehen: Ich hab's nie versucht, aber hilft es tatsächlich nicht, den Default-Status 404 explizit mit einem "HTTP/1.1 200 OK" zu überschreiben?
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /test.php [L]
Halte ich immer noch nicht für die optimale Lösung, aber wenn, dann möchte man eventuell noch eine Zeile ergänzen:
> ~~~apache
RewriteEngine on
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule .* /test.php [L]
Sonst lässt sich das Default-Dokument in einem Verzeichnis nicht mehr aufrufen, ohne es ausdrücklich zu adressieren.
Natürlich müsste dann in Abhängigkeit von den Wünschen der "404er" via header('HTTP/1.1 404') gesendet werden.
Hmm. Kommt mir vor, als ob da jemand krampfhaft versucht, einer Gurke mit künstlichen Aromastoffen den Geschmack von Pfirsich zu geben ...
Ciao,
Martin
Der Professor sitzt beim Essen in der Mensa. Ein Student setzt sich ihm unaufgefordert gegenüber.
Professor: Seit wann essen denn Schwein und Adler an demselben Tisch?
Student: Na gut, dann flieg' ich eben zum nächsten Tisch.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(