Pretty URLs return 404 errors or don’t update properly.
Permalinks Not Working
Key Points: Pretty links result in 404 errors; settings ignored due to missing rewrite module or .htaccess issues.
You click a blog post and — 404. Everything looks right, but WordPress acts like that page never existed. The culprit? Permalinks that aren’t actually linking.
📉 Common Causes
- Missing or broken
.htaccess - Apache
mod_rewritenot enabled - Permalinks set to default and not flushed properly
🛠️ How to Fix
- Go to Settings → Permalinks and click “Save” (this flushes rules)
- If on Apache, make sure
mod_rewriteis enabled - Ensure this is in your
.htaccess:# 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
🧠 Tip
If you’re on NGINX, make sure permalinks are configured in the server block instead. No .htaccess there.