Thread LocationMatch - Zugriff auf gematchten Pfad (1 answers)
Opened by pq at 2010-02-03 13:38

pq
 2010-02-03 13:38
#131760 #131760
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
In Apache kann ich ja per LocationMatch z.b. einen bestimmten Handler setzen, also:
Code: (dl )
1
2
3
4
<LocationMatch "^/(module1|module2)">
PerlHandler Foo::Bar
....
</LocationMatch>

Jetzt wüsste ich gern, ob ich in diesem Block Zugriff auf den gematchten Pfad habe. Ich habe in der Doku nichts dazu gefunden.
Also beim Aufruf der URL /module1/action/foo brauche ich das "module1" und möchte es an den Handler weitergeben.
Ich kann im Handler mittels der Umgebungsvariable SCRIPT_NAME auf den kompletten Pfad zugreifen, dachte aber, es wäre schöner, wenn ich das in der Apache-Config erledige.
Hintergrund ist, dass ich bisher über PATH_INFO auf den Pfad zugreife. Das funktioniert bisher, weil die URLs alle ein bestimmtes Präfix haben:
Code: (dl )
1
2
3
<Location /app>
PerlHandler Foo::Bar
</Location>

Beim Aufruf von /app/module1/action/foo bekomme ich in PATH_INFO dann /module1/action/foo.
Bei LocationMatch geht mir aber das /module1 verloren.

Wäre mod_rewrite hier zu empfehlen (also internes mappen von /(module1|module2) aud /app/$1) oder frisst das dann bei jedem Request Performance? Gibt es da Erfahrungswerte?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread LocationMatch - Zugriff auf gematchten Pfad