返回列表 发帖
查看: 16|回复: 1

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

7

主题

6

回帖

1

粉丝

初学乍练

贡献
0 点
金币
3 个
产品版本
X5.0+
发表于 1 小时前 |云南| 查看全部 |阅读模式
环境:
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



回复

使用道具 举报

98

主题

639

回帖

22

粉丝

管理员

贡献
29 点
金币
70 个
产品版本
X5.0+
发表于 16 分钟前 |北京| 查看全部
似乎是个老坑,和5.0无关,底部分页跳转的函数逻辑有点匪夷所思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2026-5-2 13:38 , Processed in 0.040189 second(s), 9 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表