Hallo zusammen,
ich kaempfe schon seit Stunden mit einem mod_rewrite Problem, fuer
welches es vermutlich eine ganz einfache Loesung gibt....;-)
Innerhalb eines virtuellen Hosts (ein Wiki mit Rewrite-Regeln fuer
"schoene" URLs) werden alle URLs auf /doku.php?id=$REQUEST_URI gemappt.
Einige spezifische URLs sollen aber direkt auf physische Pfade
_ausserhalb_ der DocumentRoot des vhosts gemappt werden. Im Beispiel
unten waere das die URL /software/linux, welche direkt auf
/var/apache2/2.2/htdocs/software/linux gemappt werden sollte.
Alles laeuft unter OpenSolaris mit Apache 2.2.
/etc/apache2/2.2/httpd.conf:
[...]
<VirtualHost *:80>
ServerName www.struct-it
DocumentRoot /export/data/www/dokuwiki/
# RewriteEngine on
RewriteLog /tmp/rw.log
RewriteLogLevel 9
<Directory /export/data/www/dokuwiki/>
Options FollowSymLinks
RewriteEngine on
#
# generelles Mapping fuer schoene URLs
#
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/software/linux(.*)$
RewriteRule (.*) doku.php?id=$1 [QSA,L]
#
# Die spezielle URL /software/linux soll direkt auf
# den Filesystem-Pfad /var/apache2/2.2/htdocs/software/linux
# gemappt werden
#
RewriteCond %{REQUEST_URI} ^/software/linux(.*)$
RewriteRule (.*) /var/apache2/2.2/htdocs/$1 [L]
</Directory>
</VirtualHost>
Ich habe unzaehlige RewriteRule-Optionen in verschiedenen Kombinationen
ausprobiert. Das Resultat fuer http://www.struct-it/software/linux ist
praktisch immer dasselbe:
# tail /var/apache2/2.2/logs/error_log
[...]
[Thu May 28 21:24:19 2009] [error] [client 10.1.103.215] File does not
exist: /export/data/www/dokuwiki/var
#
Im Browser:
Error 404: The requested URL /var/apache2/2.2/htdocs/software/linux was
not found on this server.
Der kompletten RewriteLog Output fuer diesen Seitenaufruf ist auf
http://nopaste.info/e8c70f2527.html abgelegt.
Wer kann mir helfen, das gewuenschte Resultat zu erreichen?
Gruss
frank
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [email protected]
sonstige Anfragen an [email protected]
--------------------------------------------------------------------------