WordPress 6.5.4:带/page/路径的文章URL未返回404或跳转问题
WordPress单篇文章URL后追加/page/n/未返回404的解决办法
针对你遇到的单篇文章URL(如https://www.example.com/testabc)后加/page/3/仍显示文章内容而非404的问题,可尝试以下几种解决方式:
方法一:通过代码触发404状态
在主题的functions.php文件或自定义代码插件中添加以下代码,强制单篇文章的分页URL返回404:
add_action( 'template_redirect', 'disable_single_post_pagination' ); function disable_single_post_pagination() { if ( is_single() && get_query_var( 'page' ) && get_query_var( 'page' ) > 1 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); get_template_part( 404 ); exit(); } }
这段代码会在单篇文章页面检测到page参数且数值大于1时,主动设置404状态并加载站点的404页面。
方法二:用.htaccess重定向无效URL
在站点根目录的.htaccess文件中,WordPress默认规则之前添加以下重定向规则,将这类无效分页URL永久重定向到文章主URL:
RewriteEngine On RewriteRule ^(.+)/page/[0-9]+/?$ /$1/ [R=301,L]
添加后记得保存文件,这样用户访问/testabc/page/3/时会自动跳转到/testabc/。
方法三:排查主题的自定义查询逻辑
部分主题可能会通过pre_get_posts钩子修改主查询,导致page参数被忽略。可以检查主题的functions.php或single.php文件,看是否存在调整单篇文章查询的代码,确保没有覆盖分页参数的处理逻辑。
内容的提问来源于stack exchange,提问作者Helping Hands
相关产品推荐
相关产品推荐

