MudGuard: Apache, Rewriting, Zugriff auf umgeschriebene URL in RewriteCond

Beitrag lesen

Hi,

Folgendes steht in meiner rewrite.conf

RewriteEngine On
RewriteLog "logs/rewrite.log"
RewriteLogLevel 9

.html ---> .htm (for historical reasons)

RewriteRule /test/(.*).html /test/$1.htm

if file does not exist --> index.htm

RewriteCond %{REQUEST_URI} (/test/[^/]+/[^/]+/.*)
RewriteCond %{DOCUMENT_ROOT}%1 !-f
RewriteRule /test/([^/]+)/([^/]+)/(.*) /test/$1/$2/index.htm

Kleiner Fehler beim Anonymisieren, in Wirklichkeit stehen da noch 2 Verzeichnisebenen dazwischen, es muß passend zum Beispiel heißen:

RewriteCond %{REQUEST_URI} (/test//.*)
RewriteCond %{DOCUMENT_ROOT}%1 !-f
RewriteRule /test/(.*) /test/index.htm

Im Rewritelog steht für den Aufruf von http://localhost/test/foo.html folgendes (die Spalten mit IP, Zeit usw. hab ich weggetan, die sind uninteressant, dafür hab ich Zeilennummern davorgesetzt):

1:  (2) init rewrite engine with requested uri /test/foo.html
2:  (3) applying pattern '/test/(.*).html' to uri '/test/foo.html'
3:  (2) rewrite /test/foo.html -> /test/foo.htm

4:  (3) applying pattern '/test/([^/]+)/([^/]+)/(.*)' to uri '/test/foo.htm'
5:  (4) RewriteCond: input='/test/foo.html' pattern='(/test/[^/]+/[^/]+/.*)' => matched

Hier dann entsprechend
 4:  (3) applying pattern '/test/(.*)' to uri '/test/foo.htm'
 5:  (4) RewriteCond: input='/test/foo.html' pattern='(/test/.*)' => matched
(und analog im zweiten Rewrite-Log listing)

6:  (4) RewriteCond: input='D:/HTML/test/foo.html' pattern='!-f' => matched
7:  (2) rewrite /test/foo.htm -> /test/index.htm
8:  (2) local path result: /test/index.htm
9:  (2) prefixed with document_root to D:/HTML/test/index.htm
10:  (1) go-ahead with D:/HTML/test/index.htm [OK]

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.