httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hracek, Petr" <>
Subject VirtualHost rewrite and mod_negotiation
Date Tue, 28 Apr 2009 11:31:45 GMT
Hello all,
sorry for bother you with issue both I think that I misunderstand how
the mod_negotiation and mod_rewrite work is working.
In my apache I have enabled Virtual Host called:
<VirtualHost _default_:443>
SSLEngine on
DocumentRoot "/opt/apache/htdocs/ssldocs"
AddType text/html .shtml
RewriteEngine on
RewriteRule .* - [F]
RewriteMap unity txt:/opt/apache/conf/
RewriteRule ^/(common|public)/(.*)  /opt/unity/htdocs/$1/$2 [L]
RewriteRule ^/([^/]+)$              ${unity:$1|/$1} [L]
RewriteRule ^/([^/]+)/(.*)  ${unity:$1|/opt/apache/htdocs/ssldocs/$1}/$2
RewriteLog "/var/log/apache2/rewrite_log"
RewriteLogLevel 3

<Directory />
    Options +Includes Indexes +MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    MultiviewsMatch Any
    SetOutputFilter INCLUDES
In /opt/apache/conf/ is mentioned:
APPL /opt/appl/htdocs
In the directory /opt/appl/htdocs is:
test:/var/log/apache2 # ll /opt/appl/htdocs/index.*
-rw-r----- 1 hg3550m unity 887 Mar 27 10:12
-rw-r----- 1 hg3550m unity 893 Mar 27 10:12
test:/var/log/apache2 #

Unfortunatelly when I go to the page https://localhost/APPL/index.shtml
then it show me in the /var/log/apache2/error_log "Negotiation:
discovered file(s) matching request: /opt/appl/htdocs/index.shtml (None
could be negotiated)".
Rewrite Rule is working properly but negotiation is not working well.
When I am inserting following lines to the configuration file:
<Directory "/opt/appl/htdocs">
    Options +Includes +Multiviews
    AuthType TestAuth
    require auth-validation
    Satisfy any
then the negotiation is working.
I thought that all directories under DocumentRoot including RewriteMap
has the same setting as <Directory /> flag, right?
Could you please explain me why I am getting error from Negotiation
module? Error code which is mentioned in apache is HTTP 404.
Does it mean the for each directory which is not under
/opt/apache/htdocs/ssldocs has to be mentioned special directive
What did I set incorrectly?

Best regards

View raw message