11

WordPress auto corrects the permalinks(URLs) even if it is entered incorrectly. For e.g. WordPress will land you in example.com/some-post even if you enter example.com/idontexist/some-post or even example.com/some

It could be that, WordPress uses RegEx like or some matching algorithm that compares from right to left and if it finds a match, it will take you to the page even if there are /.*/ left on the left. Just a guess! How does WordPress do this?

Edit: I also noticed that the .htaccess file checks for virtual file/directories using !f and !d and redirects the request to index.php on the blog folder.

3 Answers 3

6

The redirect_canonical function in /wp-includes/canonical.php is called on any given URL and will attempt to best-guess the URL the user wanted, and redirect them to there, when a URL does not exist. It has a whole huge amount of code to do this for all sorts of common errors.

1
  • 1
    Upvoted for "whole huge amount" :D. Jun 8, 2011 at 18:25
3

Use @JanFabry "Rewrite Analyzer" Plugin, over here in the "official" WPSE Plugin repository

0
1

It's pretty simple. WordPress makes use of LIKE operator in SQL query to guess the complete URL from the partial URL when it's a 404 page

Check this code taken from /wp-includes/canonical.php redirect_guess_404_permalink() function

$where = $wpdb->prepare( 'post_name LIKE %s', $wpdb->esc_like( get_query_var( 'name' ) ) . '%' );

Your Answer

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

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