WordPress Custom Permalinks Not Working? Here Is How to Fix It

Did you just notice that your WordPress permalinks are not working? Many times, after upgrading WordPress to the latest version, custom permalinks stop working. You may not notice any change on the home page but when you click on any of the post links, it throws up the ‘page not found’ error. Similar may be the case with the category links and tag links.

WordPress custom permalinks fix

This may be caused due to some problem with your .htaccess file or due to some old plugins you’ve been using or due to both. Here’s the right way to go about fixing it:

  • Go to your permalink settings and note down the custom permalink structure.
  • Change the permalink settings to default – the first thing you see in the list (something like http://www.yourblog.com/?p=123).
  • Disable all your plugins.
  • Download or take a backup of your .htaccess file (in your root directory), just in case something goes wrong.
  • Delete the existing .htaccess file (WordPress will recreate it on its own).
  • Now change the permalink settings back to the original custom settings you had.
  • Refresh your home page. The permalinks should be working well now. If it still does not, check your .htaccess file. It should contain the following piece of code:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
  • Remember that all your plugins are still deactivated. So, start activating them one by one and simultaneously keep checking whether any of them is interfering with the permalinks.
  • The moment you find any plugin creating problem, deactivate it, go back to the permalink settings page and hit on the save (changes) button.

There you are… with your good, old permalinks.

Did it work for you? Or did you have some other workaround? Do share your feedback.

Leave a Reply

Your email address will not be published. Required fields are marked *