• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mod_rewrite, existierender Ordner

  • Ersteller Ersteller Commodore
  • Erstellt am Erstellt am
C

Commodore

Guest
Hallo,

Um eine schöner gestaltete URL zu kriegen benutze ich folgendes .htaccess-file:
Code:
Options +FollowSymlinks
Options -Indexes
DirectoryIndex site.php

RewriteEngine on
RewriteBase /Foo
RewriteRule ^([^/\.]+)/?$ site.php?page=$1 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ site.php?page=$1&sub=$2 [L]

Funktioniert auch einwandfrei, allerdings habe ich ein Problem sobald ein Ordner existiert.

Will man /Foo/Ordner1/ zugreifen, so funktioniert die Darstellung problemlos. Will ich jedoch auf /Foo/Ordner1 zugreifen [Wobei Ordner1 auch tatsächlich existiert], so werde ich im Browser weitergeleitet auf /Foo/Ordner1/?page=Ordner1.


Was ist die Lösung für dieses Problem? Ich habe bereits im Netz gesucht und bin nicht der einzige der damit Probleme hat, jedoch hat keine der angegebenen Lösungen wirklich funktioniert. So zum Beispiel hier: Another mod_rewrite trailing slash question - Stack Overflow
 
Code:
RewriteCond %{REQUEST_FILENAME} -s        [OR]
RewriteCond %{REQUEST_FILENAME} -l        [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$                -         [NC,L]
 
Damit wird zwar ein eventuell fehlender slash ersetzt, aber wenn ich jetzt /Foo/Ordner1 bzw. /Foo/Ordner1/ aufrufe bekomme ich einen 403 error.
 
Sry, dann habe ich mich nicht richtig ausgedrückt.


Es geht darum, dass auch /Foo/Ordner1 die Seite site.php?page=Ordner1 anzeigen soll, es jetzt allerdings nur zu /Foo/Ordner1/?page=Ordner1 weiterleitet. Die Seite funktioniert dann zwar einwandfrei, allerdings sieht der link nicht mehr schön aus.


Oder gibts da keinen Weg drumrum und ich sollte den Ordner umbenennen?
 
Zurück
Oben