Font

LocationMatch - Zugriff auf gematchten Pfad

[thread]14583[/thread]


hide all open all
  • close +2 replies
  • close close pq  2010-02-03 13:38 #131760 #131760
    User since
    2003-08-04
    7391 articles
    [Homepage]

    user image  
    In Apache kann ich ja per LocationMatch z.b. einen bestimmten Handler setzen, also:
    Code:
    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:
    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 & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
    • close pq  2010-02-03 13:50 #131761 #131761
      User since
      2003-08-04
      7391 articles
      [Homepage]

      user image  
      Wenn ich mir's recht überlege, ist eine RewriteRule mit einem internen Redirect vermutlich auch nicht aufwendiger als ein LocationMatch. Und RewriteRules gibt es ja auch für andere Webserver, so dass ich da relativ portabel bleibe...
      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 & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View all threads created 2010-02-03.

[Powered by Battie]
Powered by Perl
Powered by Pound
Some Icons are from
Fugue Icons
Impressum