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]
--------------------------------------------------------------------------

Antwort per Email an