WordPress Custom Permalinks Not Working? Here’s 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.

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.



  1. Omegakenshin says:

    Hey, good website, I hope to see some plugin dev tutorials and advanced stuff too..

    Keep the good work ^^

  2. I use a plugin called custom permalinks. I have so many probs with custom urls. I’m gonna stick with default setting and forget the custom URL all together.

  3. No, tried the steps but it didn’t work for me!

  4. I used to get this problem once in a while, but I have been getting this error more frequently. Whenever I notice this problem, all I have to do is go to Permalinks page and hit save. I used to change it to default and then rewrite the custom url, but noted that hitting the save does the magic. If you .htaccess file is not writeable, you might have to change the file permission. It’s annoying that i need to do this more frequently.

  5. I have looked endlessly for a solution on this permalink 404 not found issue, hey guess what still looking with no solution insight, whether is on IIS/Apache.
    What is not acceptable is placing a permalink setting option of Post name (/%postname%/) after wp3 and not be working and a Custom Structure switch to (/index.php/%postname%/) is NOT a solution, it defeats the purpose. I’ve tested pretty much all 404/permalink plugins with no success on a fix. Ridiculous!!!!!

  6. Great tips..I was struggling initially to change the permalinks settings..But it works after deleting the .htaccess and disabling the plugins as you mentioned..thanks

  7. I am experiencing the same thing I have deleted, created, added permissions, edited the .htaccess file and still permalink is not working. The whole thing needs to be rewritten, redesigned or what ever. It just needs to be fixed. How WP have allowed this to go on for so long is just beyond me

  8. Man, it worked. Thank you!

  9. Brandon says:

    I have tried everything and my dang links keep messing up putting my url.com/link first and it keeps 404 erroring me

  10. I suddenly got problems with strange signs in the end of my permalinks. They are not optimal for the SEO, as they are now. I have tried to go through all the steps in your guide, but it still doesn’t work… What to do? I’m grateful for all the help I can get!

  11. Hey guys,

    All those who tried endlessly to resolve the issue do one simple step that worked out for me, add mod_rewrite extension in your apache, this might be disabled that’s why you’re unable to use the custom url’s.

    No of helpful topics covered this important step. 🙂

    Best of luck


  12. it’s work. thax a lot bro.. 🙂

  13. This worked for me, adding this line of code to htaccess:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

  14. Thanks for the great site.

Speak Your Mind


This site uses Akismet to reduce spam. Learn how your comment data is processed.