Felix Riesterer: Apache mod_rewrite und geschütztes Verzeichnis

Beitrag lesen

Liebe(r) Lin,

Moin,

Folgendes Szenario:

Ich habe im Dokument-Root eines VHosts auf meinem Apache (2.0.52 Win)
ein Hauptskript liegen (index.html), an das sämtliche 'Pfade' als
Parameter übergeben werden sollen, also:

http://www.example.com/xxx/yyy/ > http://www.example.com/index.html?xxx/yyy/

Das klappt auch wunderbar:

[.htaccess]

AddHandler cgi-script .html
DirectoryIndex index.html

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.html?$1

  
~~~apache
RewriteCond %{REQUEST_URI} !(/admin/)  
RewriteRule admin/(.*/)?$ /sonstewohin [QSA]

[/.htaccess]

Dieses [QSA] heißt "query string attached" und sorgt dafür, dass Deine GET-Parameter weitergereicht werden. Dabei ist es aber sinnvoll, dass Du den Pfad nicht einfach-nur-so anhängst, sondern dem Pfad einen echten Variablennamen verleihst. Ich löse das so: RewriteRule ^(.*) index.html?pfad=$1

Wenn Du kein Verzeichnis "/admin/" hast, dann weiß ich nicht, ob Du mit dem Apachen dann eine Passwortabfrage erhälst...

Liebe Grüße aus Ellwangen,

Felix Riesterer.