Thread mod_rewrite und logische Fallunterscheidung
(15 answers)
Opened by cbxk1xg at 2004-04-16 16:31
Hallo an alle!
Es geht um folgendes: Ich habe ein CMS (in Perl) welches Template- und Contentdateien zusammensetzt und diese dann als HTML-Dateien in einem Cache-Verzeichniss ablegt. Das soll aber nur passieren wenn die Datei nicht bereits im Cache liegt. Meine "geniale" Idee war nun, dass ich "mal eben schnell" ein mod_rewrite ruleset schreibe. Nachdem ich die Doku von Apache gelesen und diverse Foren durchstöbert habe, bin ich nicht wirklich schlauer. Auch die Links im PerlCommunity-Forum führten mich leider nicht zum Ziel. Die richtige URL zu einem typischen Cachefile ist: http://mydomain.xy/-/Cache/myfile.htm Die umgeschriebene URL zu einem typischen Cachefile ist: http://mydomain.xy/Cache/myfile.htm - Diese URL wird dann auch öffentlich verlinkt und vom Browser aufgerufen. Die richtige URL zu einem File, welches nicht im Cache liegt ist: http://mydomain.xy/-/index.pl?PID=myfile - Die Dateien haben KEINE Dateiendung! Mein großes Problem ist, dass RULE 1 und RULE 2 einzeln funktionieren, aber nicht zusammen. Wenn ich also z.B. RULE 2 lösche, dann wird die Datei aus dem Cache gelesen und wenn ich RULE 1 lösche, dann bekomme ich die Verbindung zum Script. Beides zusammen funktioniert jedoch nicht. Ich habe versucht so etwas wie ein Fallunterscheidung zu programmieren, scheiterte aber kläglich daran. Ich dachte an etwas im Sinne von: Auzug aus meiner .htaccess Code: (dl
)
1 RewriteEngine on Ich könnte das natürlich auch alles irgendwie mit Perl lösen, aber ich denke, dass die Performance doch um ein vielfaches höher sein wird wenn man mod_rewrite benutzt. Außerdem will ich unbedingt eine statische URL vorgaukeln (RULE 2) um die Suchmaschinen nicht zu ärgen. |