I recently ran into an issue in which changing the permalinks setting in WordPress resulted in 404 pages across my site. I checked my WordPress root dir and the proper .htaccess file was there with the proper permissons, but permalinks refused to work. It turned out to be a quick fix and a case of “Doh! Stupid mistake on my part”.
By default, a vanilla Apache install does not allow overrides and thus any .htaccess files you have will do little more than occupy a few bytes on your hard drive. The fix is simple and does vary a bit depending on your particular setup, but the general gist is you need to change the following from:
in the correct <Directory> section of either your vhost’s configuration file or httpd.conf. In my case, that was under <Directory “/var/www/html”>. You then need to do a graceful restart of Apache so the changes take effect:
# service httpd graceful
More information on permalinks is available on the WordPress Site.