How to prevent automatic redirection of 404 errors and “incorrect” URLs?

WordPress has a feature whereby it will automatically redirect your URLs if it percieves them to be written wrongly. Here is an example: I have a page called my-page

If I go to:

Read More
www.mysite.com/something/my-page/

it will immediately redirect me to

www.mysite.com/my-page/

as nothing exists at the first URL.

How can I turn this feature off, and instead just get a 404 if incorrect URL’s are typed in?

Related posts

Leave a Reply

3 comments

  1. As Ash suggested, you can turn off the feature by using the following code:

    remove_action('template_redirect', 'redirect_canonical');
    

    In looking at the redirect_canonical function in canonical.php, it would appear you can also modify the behavior with your own filter.

    At the end of the redirect_canonical() function, there is a call to filter the final answer:

    $redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
    

    So you could write your own filter to modify the final redirection or return null to stop the redirection, based upon the input, thus turning off the feature for a particular URL or a subset of URLs.