香蕉成人伊视频在线观看|学生小视频国产区|yy女主播啪啪啪视频|麻豆传播媒体APP大全免费版官网|瑜伽牲交AV|国产欧美日韩在线天堂区|白浆精品国产91

Discuz! 官方交流社區

標題: Discuz X5.0 手機版版塊列表頁,頁碼跳轉到第2頁生成偽靜態鏈接導致404 [打印本頁]

作者: laowen0223    時間: 2026-5-2 11:45
標題: Discuz X5.0 手機版版塊列表頁,頁碼跳轉到第2頁生成偽靜態鏈接導致404
環境:
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




作者: monkeye    時間: 2026-5-2 13:22
似乎是個老坑,和5.0無關,底部分頁跳轉的函數邏輯有點匪夷所思
作者: 時光無聲    時間: 2026-5-2 18:47
以前碰到過,偽靜態設置錯誤的問題,
作者: laowen0223    時間: 2026-5-2 21:04
時光無聲 發表于 2026-5-2 18:47
以前碰到過,偽靜態設置錯誤的問題,

但是網站偽靜態都關了啦,都沒有開
作者: laowen0223    時間: 2026-5-2 21:08
Nginx 環境,后臺 URL 靜態化全部關閉,手機版頁碼跳轉第 2 頁仍然生成 forum-2-2.html,是否為 X5.0 手機版分頁 bug?
作者: 時光無聲    時間: 2026-5-3 14:28
laowen0223 發表于 2026-5-2 21:08
Nginx 環境,后臺 URL 靜態化全部關閉,手機版頁碼跳轉第 2 頁仍然生成 forum-2-2.html,是否為 X5.0 手機 ...

重啟Nginx試試,肯定不是x5問題的,以前x3.5的時候我就遇到過,忘記怎么修復了,印象中就是偽靜態問題
作者: 時光無聲    時間: 2026-5-3 14:29
開啟偽靜態
Rewrite 兼容性:是
僅對游客有效:否
手機版模式 Rewrite:是
作者: laowen0223    時間: 2026-5-4 18:44
時光無聲 發表于 2026-5-3 14:29
開啟偽靜態
Rewrite 兼容性:是
僅對游客有效:否

其實根這個設置無關,開啟了之后還是同樣的問題。
它就是跳轉第2頁才打不開,除了第2頁,別的任何頁面都跳轉正常。
作者: 時光無聲    時間: 2026-5-5 18:25
laowen0223 發表于 2026-5-4 18:44
其實根這個設置無關,開啟了之后還是同樣的問題。
它就是跳轉第2頁才打不開,除了第2頁,別的任何頁面都 ...

更新緩存,重啟Nginx和php,看可以嗎?
不可以備份之前的站點偽靜態,然后全部刪除,使用dz默認偽靜態規則,再更新網站緩存,重啟Nginx,清除瀏覽器緩存
作者: laowen0223    時間: 2026-5-5 21:19
寶塔 → 網站 → www.it22.com → 設置 → 偽靜態 → 0.當前

加入代碼如下:rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=forumdisplay&fid=$1&page=$2 last;




歡迎光臨 Discuz! 官方交流社區 (http://m.yu-jie.cn/) Powered by Discuz! X5.0