Quasi-Vererbung durch Rewrite?

Alles, was den Apache betrifft, kann hier besprochen werden.

Quasi-Vererbung durch Rewrite?

Postby HanjoH » 24. November 2007 23:32

Hallo zusammen,

ich hab mal eine - wie ich hoffe - einfache Frage, auf die ich aber die Antwort nicht ausknobeln konnte.
Ich wollte gern in meiner .htaccess eine RewriteCond definieren, die nachfragt, ob die beim Server angefragte Datei existiert und - falls die Datei nicht existiert - eine RewriteRule aktiviert, die die Datei so umschreibt, dass eine Verzeichnisebene höher nochmal gefragt wird. Wenn da wieder keine Datei ist, soll der Server noch eine Ebene höher gehen usw.
Wie muss der Code dafür aussehen?

Vielen Dank schon jetzt!
HanjoH
 

Postby Scory » 25. November 2007 15:49

Das geht so nicht, man kann in .htaccess nicht die Existenz von Dateien prüfen. Das würde auch gar nicht reichen, was wäre denn, wenn die Datei zwar da ist, aber nicht zum Lesen freigegeben?

Das einzige, was Du sinnvoll machen kannst, ist eine eigene Fehlerbehandlung zu programmieren. Dazu schreibst Du in .htaccess folgendes hinein:

Code: Select all
ErrorDocument 404 /pfad/error404.php


Der Fehlercode 404 ist der "not found" Fehler. Wenn nun Apache ein Dokument nicht findet und einen 404er Fehler auslöst, wir Dein PHP-Script ausgeführt, was Du da angeben hast. Und da kannst Du nun programmieren wie Du willst.

Grüße
Scory
Scory
 

Postby Wiedmann » 26. November 2007 07:32

Ich wollte gern in meiner .htaccess eine RewriteCond definieren, die nachfragt, ob die beim Server angefragte Datei existiert

Das macht man mit "-f" (oder "-F") in der CondPattern einer RewriteCond.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Scory » 26. November 2007 14:48

Wiedmann wrote:Das macht man mit "-f" (oder "-F") in der CondPattern einer RewriteCond.


Wow, ich gebe zu, ich habe wieder etwas gelernt. Die Doku sagt sogar, dass dafür ein echter Request durchgeführt wird (anders kann es auch nicht gehen), aber dennoch ist es schon die Frage, was bei Alias und Redirects, oder gar weiteren RewriteMods passiert?

Ich werde mal ein bißchen herumspielen...

Grüße
Scory
Scory
 


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests