Peter: Apache mod_rewrite - Problem bei Verzeichnissen mit Punkten

Hallo liebe Community,

ich habe ein mod_rewrite Problem. Es geht um folgendes: Um in meiner Webanwendung Caching nutzen zu können, muss ich per rewrite die Aufrufe umleiten.

Eine URL sieht beispielsweise so aus:

http://domain.de/cat/ip/192.168.96.1/5.html

Dies soll nun auf mein cache Verzeichnis umgeleitet werden. Dazu brauche ich aus der URL den Part /cat/ip/192.168.96.1/5

Meine Rewrite Rules sehen bis jetzt so aus:

RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{REQUEST_URI} ^/((?!.html).)+
RewriteCond %{DOCUMENT_ROOT}/cache/%1.html -f
RewriteRule ^/[^.]+$ /cache/%1.html [QSA,L]

Es soll also aufgerufen werden /cache//cat/ip/192.168.96.1/5.html

Bis jetzt funktioniert es leider nicht, habt ihr eine Idee?

  1. Apache hat sowohl ein Rewrite-Log als auch ein Access-Log, das solltest du ggf. mal prüfen. Hier steht meistens etwas Hilfreiches drin.

    1. Apache hat sowohl ein Rewrite-Log als auch ein Access-Log, das solltest du ggf. mal prüfen. Hier steht meistens etwas Hilfreiches drin.

      Die RewriteLogs bringen mich nicht weiter, die init url ist immer gleich pass through. Also ohne den cache Ordner in der URL.

      1. Apache hat sowohl ein Rewrite-Log als auch ein Access-Log, das solltest du ggf. mal prüfen. Hier steht meistens etwas Hilfreiches drin.

        Die RewriteLogs bringen mich nicht weiter, die init url ist immer gleich pass through. Also ohne den cache Ordner in der URL.

        Okay, danke für den Hinweis mit den Logs. Ich hatte vorher LogLevel 3 und das hat mich nicht weiter gebracht. Mit LogLevel4 konnte man schön sehen, welche Cond gematched wurde und welche nicht. Ich habe dann bemerkt, dass ich die falsche backreference verwendet habe. VOrher hatte ich %1 aber ich brauchte %0.

        Also, danke für den Hinweis mit den Logs ;)

        Peter