Ich verwende Apache 2.2x. Der meiste Inhalt wird über mod_perl generiert. Es handelt sich also um dynamische Inhalte, die keine Dateisystemzuordnung haben. Perfekte Verwendung von < Location >.
Apache-Konfiguration:
<Location /finance_module1>
SetHandler perl-script
PerlResponseHandler Finance::Module1
</Location>
<Location /finance/module2>
SetHandler perl-script
PerlResponseHandler Finance::Module2
</Location>
Modul1 funktioniert und wird hier gezeigt, um zu zeigen, dass meine Einrichtung ansonsten funktioniert.
Modul2 funktioniert nicht. Apache sagt "Datei existiert nicht: /home/joe/www/htdocs/finance". Der einzige Unterschied zwischen den Modulkonfigurationen besteht darin, dass der Speicherort von Modul2 mehrere Schrägstriche enthält (was ich einen verschachtelten Pfad nenne).
Über den Fehler "Datei existiert nicht": Natürlich existiert sie nicht - es handelt sich um einen Ort, nicht um eine Datei oder ein Verzeichnis. Warum passiert das also?
Ich würde gerne Pfade mit mehreren Schrägstrichen verwenden können, weil ich viele mod_perl-Module habe und es schön wäre, sie zu Kontrollzwecken zu kategorisieren. Für ein triviales Beispiel könnte die robots.txt einfach sagen:
Disallow: /finance/
In den Apache-Dokumenten heißt es ausdrücklich, dass die < Location >-Direktiven nicht auf das Dateisystem abgebildet werden müssen und sich gut für dynamisch generierte Inhalte eignen.
Was mache ich falsch? Gibt es eine Abhilfe? (Außer dem offensichtlichen "Tu das einfach nicht").
Danke.