我不确定这是否是一个已知问题或假设是这样的表现,
任何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呢?
答案 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;
}
}
}