This post should help fix the ‘page not found’ error encountered in WordPress when trying to access non homepage pages after changing the permalink structure. I don’t mean the regular WordPress 404.php page, just a plain old 404 error.
The most common cause of page not found issues I’ve seen is that ‘mod_rewrite’ is not enabled. This is a required module that WordPress uses to rewrite your ugly URLs (such as http://www.website.com/?p=123) into a friendly URL structure like (http://www.website.com/about). The page not found problem can often occur in new WAMP or Apache installations, that don’t always enable mod_rewrite by default.
A good way to check if you have mod_rewrite enabled would be to create a new PHP page in your website root and use the phpinfo command:
<?php phpinfo(); ?>
This will give a load of information about your PHP environment including your Apache setup and available modules.
Check the ‘loaded modules’ section for ‘mod_rewrite’ as shown below. if you don’t see mod_rewrite then you will need to activate it from within Apache’s http.conf file.
Open httpd.conf in Notepad or any regular text editor (always a good idea to create a backup first) and find and remove the hash # from the below line to activate:
#LoadModule rewrite_module modules/mod_rewrite.so
After restarting Apache, mod_rewrite should now appear as a loaded module in phpinfo. The page not found error should now be fixed and you can carry on creating your awesome WordPress theme!