I need to internally rewrite the base URL so that instead of / being mapped to /index.php (default behaviour) it goes to another script named contents.php. I have a simple .
This is a known bug in Apache 2.4. I used the workaround provided here and it's working now.
I had problems with SEO links (Prestashop site to be exact). Option was to add
AllowOverride All
in virtual host's directory:
<Directory /srv/path_to_public/public_html/>
AllowOverride All
</Directory>
From apache docs:
http://httpd.apache.org/docs/current/mod/core.html#allowoverride AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier)
I also had 404s with WordPress redirects on virtual hosts after upgrading to Apache 2.4.6
In my case problem was solved by changing 'AllowOverride None' to 'AllowOverride FileInfo' for each virtual host directory config.
I have stumbled upon this very annoying issue as well. The solution is to disable MultiViews in httpd.conf
, by adding -MultiViews
for needed directory, for example:
<Directory /home/example.com/public_html>
Options -Indexes -MultiViews
AllowOverride All
Require all granted
</Directory>
After that, rewrites started to work expected way.
Don't forget to reload Apache after editing configuration files.