Tach!
ursprünglich hatte ich mal diese Regel:
RewriteCond %{HTTP_HOST} ^(.+?)\.example\.com$ RewriteRule ^(.*)$ /%1/main.pl/$1 [L]
Das hat bei mir aber auch eine Endlosschleife verursacht.
Ja, weil nach dem Rewriting der Request nochmal an die interne Verarbeitung geschickt wird und wieder an dieser Regel vorbeikommt und sie auch wieder passt. Deswegen schließt man existierende Dateien und Verzeichnisse aus, denn dann passt die Regel nicht mehr und das Rewriting findet keinen Grund mehr, die Verarbeitung noch eine Runde drehen zu lassen.
Oder hast du einen Anwendungsfall, auch existierende Dateien (außer den main.pl) umzuschreiben?
Statische Dateien werden im Ordner
~/html-root/master/static/
abgelegt und sollen über die sub-sub-domainstatic.master.example.com/…
erreichbar sein. Nicht übermaster.example.com/master/static/…
.
Ist es denn ein Fehler, wenn jemand zufällig das Verzeichnis kennt und die Dateien auf diese Weise aufruft, anstatt über die Subdomain zu gehen? Du kannst ja in deiner Anwendung die URLS in der Subdomain-Variante formulieren nehmen und ansonsten ignorieren, dass die in dem Verzeichnis liegen. Das sollte doch keine negativen Auswirkungen auf irgendwas haben. Jedenfalls sehe ich keinen wirklichen Grund auf die -d/-f-Conditions zu verzichten.
dedlfix.