apache2.2 LocationMatch

05/10/2007 - 18:35 von Florian Wisser | Report spam
Liebe Leute!

Ich versuche in einem Apache 2.2 eine LocationMatch Direktive zu
schreiben, die einen URL matcht der:

.) mit "/d1" oder "/d2" beginnt
.) nicht in "=val" endet, wobei dieser Teil nach einem "?" auftaucht

Mit perl funktioniert das auch:

$ perl -e 'print "M" if "/d1/foo?bar"=~/\/(d1|d2).*(?!=val)$/'
M
$ perl -e 'print "M" if "/d1/foo?bar=val"=~/\/(d1|d2).*(?!=val)$/'

Die gleiche Regexp in einer LocationMatch Direktive matcht offenbar
auch im 2. Fall. Die Frage ist warum.

Ist es so, dass nur der Teil der URL bis zu "?" an LocationMatch
übergeben wird?

Wenn ja, gibt es eine Möglichkeit auch das zu matchen?

Es ist leider schwer Dokumentation zu LocationMatch zu finden, die
über Triviales hinausgeht. Das im obigen Fall nur URLs mit mindestens
4 Buchstaben nach "/d1" gematcht werden ist mir bewußt und im
speziellen Fall kein Problem.

Danke für Anregungen.

florian.
 

Lesen sie die antworten

#1 Wolfgang Karall
05/10/2007 - 22:25 | Warnen spam
On 2007-10-05 16:35:03, Florian Wisser wrote:
$ perl -e 'print "M" if "/d1/foo?bar"=~/\/(d1|d2).*(?!=val)$/'



Ob LocationMatch (?!=val) kapiert ist fraglich.

mod_rewrite verwendet hingegen definitiv Perl-Regex.

lg
WK
______________________________________________________________________
Wolfgang Karall mailto: GPG: 0x172CC057
GPGKey fingerprint: F11F 50F8 96B7 C8B5 6D25 AEDE BA1C 0955 172C C057
- Student of Computer Science at the Vienna University of Technology -

Ähnliche fragen