I'm going to guess it's an Apache configuration problem.
Your main httpd.conf has likely set a default for the AllowOverride directive, to None
. This is a restrictive set of permissions that improves performance and security, but it means that Apache completely ignores any .htaccess files.
You need to enable AllowOverride
for your serving directory, either in the main Apache config file or inside the VirtualHost
directive. You can do this by specifying
AllowOverride All
inside your <VirtualHost>
or <Directory>
block.
EDIT (in response to comments)
Without more information, it will be pretty difficult to diagnose. If you can provide some more details, it would probably help. It does seem that your URLs are being rewritten, so you can try enabling mod_rewrite debugging to see how the rules are getting applied:
<IfModule mod_rewrite.c>
RewriteLog "/path/to/rewrite.log"
RewriteLogLevel 3
</IfModule>
2nd Edit - MultiViews
After re-reading the description of your problem, I think you might have an issue with MultiViews. It sounds very similar to this thread I found. Try disabling MultiViews under your <VirtualHost>
or <Directory>
, they're probably mucking with your rewrite rules.