How does WordPress handle permalinks?

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?

Read More

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.

Related posts

Leave a Reply

3 comments

  1. 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.

  2. 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' ) ) . '%' );