wordpress URL以数字结尾

时间:2013-04-23 21:03:40

标签: wordpress

我不确定这是否是一个已知问题或假设是这样的表现,

任何wordpress网站,如果您在网址的末尾加上一个数字,例如

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

我们在最后加上1或任何数字

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

我们无法访问NOT FOUND页面,我们仍然会停留在同一页面,这是

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

这是错误还是正常?我们如何重定向到NOT FOUND PAGE呢?

1 个答案:

答案 0 :(得分:5)

这不是错误,123被解释为分页参数:

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

帖子可以使用<!--nextpage-->进行分页。如果没有找到更多内容,WordPress会显示最后一页的内容(如果帖子未分页,则显示完整帖子。)

要在分页参数执行页数时重定向到404页面,请将以下内容放入functions.php文件中:

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;
        }
    }
}