wordpress URL end with a number

I am not sure if this is a known issue or suppose to be like this performance,

any wordpress website, if you put a number at the end of the URL, for example,

Read More
http://perishablepress.com/wordpress-multisite-mamp/

we put 1 or any numbers at the end

http://perishablepress.com/wordpress-multisite-mamp/123

We will not get the NOT FOUND page, we’ll still stay at the same page, which is

http://perishablepress.com/wordpress-multisite-mamp/

Is this an error or normal ? how do we redirect to NOT FOUND PAGE instead?

Related posts

Leave a Reply

1 comment

  1. It’s not an error, the 123 is interpreted as a pagination parameter:

    Request: wordpress-multisite-mamp/123
    Query String: page=%2F123&name=wordpress-multisite-mamp
    Matched Rewrite Rule: ([^/]+)(/[0-9]+)?/?$
    Matched Rewrite Query: name=wordpress-multisite-mamp&page=%2F123
    

    Posts can be paginated with <!--nextpage-->. WordPress displays the content of the last page if no further content is found (or the full post if the post is not paginated).

    To redirect to the 404 page when the pagination parameter exeeds the number of pages, drop the following in your functions.php file:

    add_action( 'template_redirect', 'so16179138_template_redirect', 0 );
    function so16179138_template_redirect()
    {
        if( is_singular() )
        {
            global $post, $page;
            $num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
            if( $page > $num_pages ){
                include( get_template_directory() . '/404.php' );
                exit;
            }
        }
    }