1

I currently have a 404.php page from a certain theme I'm using but I would like to override any WP foncutionaly regarding 404 errors.

I would like to set a 404 error handler via my .htaccess but for some reason wordpress is still serving it's 404 page.

# 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]
**ErrorDocument 404 /home/username/public_html/my404page.php?next=**
</IfModule>
# END WordPress
5
  • Have you tried putting the ErrorDocument 404 /home/... etc line above the wordpress rules (Above #BEGIN Wordpress) Nov 5, 2015 at 1:25
  • Anyway, outside of the # BEGIN and # END because wordpress will overwrite everything between these lines. If you want to add stuff to the htaccess file, do it outside of those lines, so before # BEGIN... and after # END WordPress it is safe to write your own stuff. Nov 5, 2015 at 1:31
  • Thanks for the comments but nothing happens/changed after I moved the ErrorDocument before or after the Wordpress rules.
    – mele
    Nov 5, 2015 at 9:40
  • To be sure, I assume you placed the star signs (**) just for pointing out which line you are talking about? Nov 5, 2015 at 12:33
  • Sorry, I looked at my own project where I have it working, but noticed I ditched all the wordpress generated htaccess code. IIn my answer I explain why you can't use the errordocument directive. Is there a specific reason why you don't want to use the 404 wp template? Nov 5, 2015 at 13:05

1 Answer 1

1

As far as I can see, it is not possible to use a custom 404 ErrorDocument directive in your htaccess file because WordPress' index.php will always be found when processing the htaccess content. (unless ofcourse index.php got deleted for some reason)

Because index.php is found, it will not trigger the '404 not found' ErrorDocument directive. The ErrorDocument directive will thus be ignored.

That is - if you stick with the htaccess code generated by WordPress (which I strongly recommend).

It is possible to work without the htaccess rules that WordPress generates, but it requires you to write htaccess rules for the processing of permalinks etc yourself.

I did this in a project where I decoupled WordPress almost completely from the frontend, but I can't recommend doing that for ~98% of the use cases. :-)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.