MOD_REWRITE / PERMALINKS
One thing that has been a pain so many times is getting PermaLinks in WordPress to work. And the majority of the time it was because I forgot a simple Option in the Apache Config files, or file permissions. So here is my checklist of things to do to ensure it works (note: all of these instructions assume you are using Ubuntu):
Step 1.
Make sure there are write permissions for the .htaccess file (change “www-data” to whatever your instance of Apache is running under, and “path/to/documentRoot/” to the root content folder of your site (this would likely be mapped in /etc/apache/site-available/000-default)
sudo chown www-data /path/to/documentRoot/ -R sudo chmod g+w /path/to/documentRoot/ -R
Step 2.
Make sure mod_rewrite is enabled for php
sudo a2enmod rewrite
Step 3.
Make sure that AllowOverride is set to All
Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Order allow,deny allow from all
Step 4.
Add: AccessFileName .htaccess
to the vhost (not Directory) portion of your apache config file
Step 5.
This seems like a no-brainer, but TRIPLE check that the DocumentRoot
value and the
value match. A typo wont throw an error, but WILL stop it from working.
Step 6.
And of course restart apache again
sudo apachectl restart