I know how to do this using php, but need to redirect using htaccess.

If I use this rule: ErrorDocument 404 /index.php then I still get the error page. Looks like wordpress identifies that this is 404 error and serves 404 message, not the homepage content as needed.

Any ideas?


There are a couple of ways to do this.

  1. If you're using a custom theme or a child theme, add (or edit) a theme file called 404.php. The contents of that file should be:

<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: ".get_bloginfo('url')); exit(); ?>

  1. You can add this code as a plugin, or put it in your (custom or child) theme's functions.php file:

<?php function redirect_404s() { if(is_404()) { wp_redirect(home_url(), '301'); } } add_action('wp_enqueue_scripts', 'redirect_404s'); ?>

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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