WordPress Permalinks Not Working 8 Easy, Proven Fixes

By Basharat Ali Khan | Last updated: October 25, 2026

WordPress permalinks not working usually looks like this: your dashboard works perfectly, but visitors get a Page Not Found error on posts and pages that definitely exist. It is confusing, because nothing seems to have changed. Most guides tell you to just save your permalinks again, which fixes a large share of cases, but it does not explain why it happened or what to do when the fix does not last.

This guide covers the basic reset and the deeper causes, in the order I would check them.

Quick Answer: WordPress Permalinks Not Working

WordPress permalinks not working is most often fixed by going to Settings > Permalinks and clicking Save Changes, which rebuilds the rewrite rules. If that does not stick, check that your .htaccess file exists and is writable, that Apache has mod_rewrite and AllowOverride enabled (or that Nginx has the correct rewrite rule), and that no plugin keeps overwriting the file.

What Permalinks Actually Do

Permalinks are the readable URLs WordPress creates for your content, such as yoursite.com/your-post-title/ instead of a numeric address. To make those URLs work, WordPress relies on rewrite rules. On an Apache server these rules live in the .htaccess file. On Nginx they live in the server configuration.

When the rules are missing, corrupted or ignored by the server, visitors get 404 errors even though your content is completely intact.

Fix 1: Resave Your Permalinks

WordPress permalinks not working is solved by this step in the majority of cases, and it takes under a minute.

  1. Go to Settings > Permalinks.
  2. Without changing anything, click Save Changes.

This forces WordPress to regenerate its rewrite rules. If a rule simply got out of sync, this fixes it.

WordPress Permalinks Not Working eight Easy step

If it does not work, try the stronger version:

  1. Switch to the “Plain” permalink structure and save.
  2. Switch back to your original structure and save again.

This is also a useful test. If Plain permalinks work but your pretty permalinks do not, the problem is in the rewrite setup (the next fixes), not in your content.

Fix 2: Check Your .htaccess File

If the fix does not hold, your .htaccess file may be missing the correct rules, or WordPress may not be able to write to it.

  1. Open your site’s root folder with FTP or your host’s File Manager.
  2. Find .htaccess. It starts with a dot, so turn on “Show Hidden Files.”
  3. Confirm it contains the standard WordPress block below.
  4. If the file is missing or empty, check that the folder is writable, then repeat Fix 1 so WordPress can create it.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Take a backup before editing the file. A typical file permission for .htaccess is 644.

wordpress permalinks not working htaccess fix

Fix 3: Confirm mod rewrite and AllowOverride on Apache

This is a server-level requirement that many guides skip. Pretty permalinks on Apache depend on two things:

  • The mod_rewrite module must be enabled.
  • The site’s folder must allow .htaccess rules, which means AllowOverride must be set to All in the Apache configuration. If it is set to None, Apache ignores your .htaccess file completely, and no amount of resaving permalinks will help.

Most standard WordPress hosting has both set correctly. On a VPS or self-managed server, you can check your configuration over SSH, or ask your host’s support team directly.

Fix 4: Add the Rewrite Rule on Nginx

Nginx does not use .htaccess, so changing that file has no effect there. Your site’s Nginx configuration needs the WordPress rewrite rule inside the main location block:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Reload Nginx after you change it. If your host manages Nginx for you, ask their support to confirm this rule is in place. Managed hosts that use both Apache and Nginx may have their own setting for this.

Fix 5: Look for Slug Conflicts With Custom Post Types

If only certain content 404s, such as WooCommerce products or a custom post type from a plugin, while normal posts and pages work, the cause is usually a conflict at registration level.

  • Two plugins, or a plugin and a theme, may register content with the same URL slug.
  • A page may use the same slug as a custom post type archive.
  • Check recently installed or updated plugins for slug settings, resolve the conflict, then resave permalinks (Fix 1) so the change takes effect.

Fix 6: Check Your Site URL and Home URL

A mismatch between your WordPress Address and Site Address can cause 404 errors and redirect loops.

  1. Go to Settings > General.
  2. Check that WordPress Address (URL) and Site Address (URL) use the same version of your domain: the same https and the same www or non-www.
  3. If you recently moved your site or added SSL, make sure old http URLs are not still stored in these fields.

If you cannot open Settings because of redirects, the values can be fixed in wp-config.php or in the database. Ask a developer if you are unsure.

Fix 7: Check Multisite Rules

On a WordPress Multisite network, permalinks behave differently, especially on subdirectory networks, where the rewrite rules must match the network structure. If standard fixes fail on one subsite, go to Network Admin and compare your .htaccess against the rules WordPress gives you on the network setup screen.

Fix 8: Clear Your Cache and Find What Keeps Overwriting the File

Sometimes the issue is already fixed, but a cache is still serving an old 404.

  • Clear your caching plugin’s cache and your CDN cache.
  • Test the previously broken URL in an incognito window.

If permalinks work and then break again after a few days, something is rewriting your .htaccess file. Caching, security and backup plugins often add their own rules to it. Check which plugin changed the file, or whether a plugin conflict removed WordPress’s block.

Quick Reference Table of  WordPress Permalinks Not Working

If WordPress permalinks not working still leaves you unsure where to start, match your symptom here.

Symptom Likely cause Fix
All posts and pages return 404 Rewrite rules out of sync Fix 1
The fix does not stick .htaccess missing or not writable Fix 2
Nothing works even with a correct .htaccess mod_rewrite or AllowOverride disabled Fix 3
Site runs on Nginx Rewrite rule missing in server config Fix 4
Only product or custom post type URLs 404 Slug conflict Fix 5
404 or redirect loops after a move or SSL change Site URL mismatch Fix 6
Only one subsite on a network is broken Multisite rewrite rules Fix 7
Fixed, then broken again later Cache, or a plugin overwriting .htaccess Fix 8

Frequently Asked Questions for WordPress Permalinks Not Working

Why do my permalinks break when I switch themes?

A new theme can register its own custom post types or rewrite rules that conflict with your existing structure. Resaving permalinks after a theme switch is a good habit.

I reset my permalinks and it worked, but it broke again days later. Why?

A plugin or scheduled task is probably overwriting your .htaccess file. Check backup, caching and security plugins that regenerate it.

Does this affect my SEO if I do not fix it quickly?

It can. Persistent 404 errors on pages that were indexed can lead Google to drop those URLs over time, so it is worth fixing quickly.

Can I fix this without FTP or File Manager access?

The basic fix in Fix 1 works from the dashboard. The deeper fixes need file or server access, though your host’s support team can often make the change if you ask.

Why do Plain permalinks work but pretty permalinks do not?

Plain permalinks do not need rewrite rules, so they work on any server. If pretty permalinks fail, the rewrite setup (.htaccess, Apache or Nginx) is the problem.

Do I need a developer for this?

Often not. Fix 1 solves most cases. A developer helps with server configuration, Nginx rules or a plugin that keeps overwriting your file.

Need Help Fixing Your Permalinks?

If your pages are still returning 404 errors after these steps, contact me here and I will diagnose and fix it directly, or see my WordPress services.


About the author
Basharat Ali Khan is a WordPress developer in Gilgit, Pakistan with 8+ years of experience building custom plugins, Elementor sites and WooCommerce stores.
LinkedIn | WordPress.org profile

Related: WordPress Tags Not Working | WordPress Categories Not Showing | WordPress Author Archive Not Working 

Leave a Reply

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