The requested URL was not found on this server.
“The requested URL was not found on this server.” on WordPress inner pages: causes and what to check
Apache returns this 404 page when it cannot pass a pretty permalink to WordPress. When the home page loads and every post or page returns it, the rewrite rules are missing or not applied.
Which of these matches what you see?
.htaccess is missing or lacks the WordPress rewrite block, so Apache looks for a real folder for each URL.
The rewrite rules stored in the database no longer match the permalink setting or the registered post types.
The request reached WordPress and the stored rewrite rules did not match. Saving the Permalinks screen regenerates them.
Common causes
References
- Settings Permalinks screen (WordPress.org Documentation)
- Apache HTTPD / .htaccess (Advanced Administration Handbook)
What the system does
A stale permalink rewrite table is handled automatically: the system rebuilds it. A corrupted .htaccess is handled automatically: the system rebuilds the rewrite rules. Fixes are made on a copy of your site in the recovery station and written back only after re-verification passes. In your site’s database, the protected tables (members, comments, orders and form submissions) are copied as structure only. In SSH and FTP mode, the system creates a pre-recovery backup on your host before writing back and restores from it if verification after write-back fails. If the recovery cannot be completed, the recovery fee is refunded in full.
- Initial assessment: Enter the site URL
- Copy to the recovery station: Work runs on the copy
- Find the cause: Item-by-item checks
- Recover and re-check: Home and inner pages
- Write back or deliver: Only after re-checks pass
Use WP119 when the home page loads and every inner page returns this 404.
Assess my site →