去评论
dz插件网

Discuz X5.0 手机版版块列表页,页码跳转到第2页生成伪静态链接导致404 New

哥斯拉
2026/05/02 11:24:59
环境:
Discuz! X5.0 Open Release 20260410
Ubuntu 24.04
Nginx 1.28.3
PHP 8.3.30
MySQL 8.0.45

问题描述:
两个全新安装的 Discuz X5.0 站点都出现同样问题。后台 SEO → URL 静态化中,所有可用项均未勾选:
Rewrite 兼容性:否
仅对游客有效:否
手机版模式 Rewrite:否

问题只发生在手机版版块,列表页底部,分页跳转功能。

现象:
上一页、下一页都正常。
页码跳转到第 3 页、第 4 页、第 5 页也正常,链接是动态地址,例如:
forum.php?mod=forumdisplay&fid=2&page=3&mobile=2

但只要通过页码跳转,选择第 2 页,就会跳到:
forum-2-2.html

由于站点没有开启伪静态,也没有配置 Rewrite,所以该地址返回 Nginx 404。

正常可访问的第 2 页动态地址是:
forum.php?mod=forumdisplay&fid=2&page=2&mobile=2

初步排查:
source/app/forum/module/forumdisplay.php 里 $multipage 传入 multi() 的地址本身是动态地址:
forum.php?mod=forumdisplay&fid={fid}

template/default/touch/forum/forumdisplay.php 里只是输出 $multipage。

source/class/helper/helper_page.php 中手机版分页会额外输出 hidden input:
id="multipage_url"

其中 forumdisplay 页面会调用:
rewriteoutput('forum_forumdisplay', 1, $_G['siteurl'], $_G['fid'], '{page}', '', '')

怀疑手机版页码跳转脚本在跳转第 2 页时使用了这个 multipage_url,导致即使后台关闭 URL 静态化,仍然生成 forum-2-2.html。

请问这是 Discuz X5.0 手机版分页 bug 吗?有没有官方修复方案?

两个网站地址在下,如果有时间,可以去测试:是手机版本才有的问题:
www.dshome.com
www.it22.com