Problem: Unterordner mod_rewrite

nibruc

Grünschnabel
Hallo!

Ich verwende auf meinem Server folgende Regel:

Code:
RewriteEngine On
RewriteBase /

RewriteRule (.*)-(.*)-(.*).html$ index.php?c=$1&u=$2&m=$3
RewriteRule (.*)-(.*).html$ index.php?c=$1&u=$2
RewriteRule (.*).html$ index.php?c=$1

ErrorDocument 404  /index.php

Funktioniert so grundsätzlich auch gut. Allerdings gibt es ein Problem: Wenn ein Ordner aufgerufen wird (der auf dem Server gar nicht exisitert) wird die URL dennoch umgeschrieben. Mit http://www.server.de/123/123/423 wird also dennoch die index.php aufgerufen. Natürlich stimmen dann die Verlinkung aus den CSS-Dateien und zu den Bildern nicht. Eigentlich wäre es mir am liebsten, wenn die Regel einen Ordneraufruf - der gar nicht existiert - einfach direkt ausfiltert und direkt auf die Grunddomain weiterleitet.

Ich habe jetzt schon viel im Forum und bei Google gesucht. Leider nichts gefunden. Vllt. kann mir auch jemand einfach einen kleinen Tipp zurufen :)

Vielen Dank!
 
Hallo,

das Flag "-R" sollte in deinem Fall seinen Zweck erfüllen.
Dieses sorgt dafür, dass die Umleitung mit einer Absoluten URL direkt an den Browser geschickt wird, das heißt dieser Weiß dass er sich jetzt wo anders befindet. Nachlesen kannst dies in der Dokumentation von Apache: klick

Gruß
BK
 
Du könntest auch mit Rewrite Conditions arbeiten. Diese bieten unter anderem das Flag
'-d' (is directory)
Treats the TestString as a pathname and tests whether or not it exists, and is a directory.

Code:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule do sth.
 
Zurück