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

Discuz! 官方交流社區

標題: 偽靜態規則寫法的問題,保存不了 [打印本頁]

作者: babyfacer    時間: 2025-10-8 18:09
標題: 偽靜態規則寫法的問題,保存不了
之前關于帖子:



關于SEO偽靜態,帖子內容頁默認的規則是不是不太好
http://m.yu-jie.cn/thread-27038-1-1.html


  1. thread-{tid}-{page}-{prevpage}.html
復制代碼
想把這個改成:
  1. thread-{tid}-{page}.html
復制代碼
或者:
  1. thread-{tid}-{page}-{1}.html
復制代碼


遇到2個問題,在測試站,改掉之后,保存,偽靜態規則也變了,但是重新打開SEO設置,又變成默認了。直接改正式站
  1. thread-{tid}-{page}.html
復制代碼
然后在寶塔里邊改偽靜態規則,會提示保存失敗,好像是“{}”的問題
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D{prevpage}&page=$3 last;
復制代碼
有人說要用引號
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ "$1/forum.php?mod=viewthread&tid=$2&extra=page%3D{prevpage}&page=$3" last;
復制代碼
結果就是內容頁直接打不開了404了

想求助一下,我要實現
  1. thread-{tid}-{page}.html
復制代碼
或者(這里我不知道這么寫對不對):
  1. thread-{tid}-{page}-{1}.html
復制代碼
偽靜態規則到底要怎么寫,才是正確的


作者: babyfacer    時間: 2025-10-8 18:26
在測試站,不管SEO里邊的設置(有點錯亂,保存之后會還原),直接在寶塔偽靜態里改成:
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&page=$3 last;
復制代碼

不知道是不是我的測試站的緩存有問題。同一個板塊,不同的頁面,出現了錯亂,
第一頁,第二頁的鏈接都是
  1. thread-{tid}-{page}-{prevpage}.html
復制代碼

【第一頁的帖子thread-150-1-1.html可以打開,打開板塊第二頁帖子地址thread-100-1-2.html會提示:插件不存在或已關閉。但是如果直接使用thread-100-1-1.html或者thread-100-1.html就可以訪問】
第三頁就是:
  1. thread-{tid}-{page}.html
復制代碼

可以正常打開。測試站的問題可以忽略,就是想知道最正確的寫法是什么



作者: 天外飄仙    時間: 2025-10-9 07:18
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-1\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D{prevpage}&page=$3&%1


你這樣改 試試
作者: 湖中沉    時間: 2025-10-9 08:32
規則里面你寫{prevpage}干啥?這個是DZ的變量替代法,在規則后面的正則匹配里不能用啊
作者: 山雞    時間: 2025-10-9 13:44
我網站,插進開不了偽靜態,不曉得怎么弄,有人有現成的么?給我一個
作者: 科站網    時間: 2025-10-9 14:14
山雞 發表于 2025-10-9 13:44
我網站,插進開不了偽靜態,不曉得怎么弄,有人有現成的么?給我一個

后臺直接開啟復制規則
作者: babyfacer    時間: 2025-10-10 00:27
湖中沉 發表于 2025-10-9 08:32
規則里面你寫{prevpage}干啥?這個是DZ的變量替代法,在規則后面的正則匹配里不能用啊 ...

有沒有一種可能,這個是我設置偽靜態之后,到規則哪里復制的,我也絕對奇怪。
難道是我的網站出問題了,生成的偽靜態有問題?
作者: babyfacer    時間: 2025-10-10 00:27
科站網 發表于 2025-10-9 14:14
后臺直接開啟復制規則

那就是我復制的
作者: babyfacer    時間: 2025-10-10 00:37
天外飄仙 發表于 2025-10-9 07:18
你這樣改 試試

我的是Nginx喲
作者: babyfacer    時間: 2025-10-10 00:40
山雞 發表于 2025-10-9 13:44
我網站,插進開不了偽靜態,不曉得怎么弄,有人有現成的么?給我一個

給你參考一個寫法,注意,這個只是可以用靜態地址可以打開頁面,并不能把頁面上的動態地址偽靜態
  1. rewrite ^([^\.]*)/collection/$ $1/forum.php?mod=collection last;
  2. rewrite ^([^\.]*)/collection$ $1/forum.php?mod=collection last;
  3. rewrite ^([^\.]*)/collection/view-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=collection&action=view&ctid=$2&page=$3 last;
復制代碼

作者: babyfacer    時間: 2025-10-10 00:50
針對2樓,我補充一下。
現在網站又莫名其妙的好了,沒有出現列表頁幾頁,帖子靜態鏈接不同的問題了。后臺的偽靜態規則設置那里也變成了:
  1. thread-{tid}-{page}.html
復制代碼

之前這里的問題是我修改偽靜態:
改成:
  1. thread-{tid}-{page}.html
復制代碼

或者:
  1. thread-{tid}-{page}-{1}.html
復制代碼

或者:
  1. thread-{tid}-{page}-1.html
復制代碼

點擊保存之后,刷新就會變回默認的:
  1. thread-{tid}-{page}-{prevpage}.html
復制代碼

這個可能是我網站的問題吧
但是前面說的問題依舊,【查看當前的 Rewrite 規則】
Nginx Web Server,還是:
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D{prevpage}&page=$3 last;
復制代碼

這個規則在寶塔里無法保存

我現在實際使用的是:
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&page=$3 last;
復制代碼

作者: 湖中沉    時間: 2025-10-10 07:31
babyfacer 發表于 2025-10-10 00:27
有沒有一種可能,這個是我設置偽靜態之后,到規則哪里復制的,我也絕對奇怪。
難道是我的網站出問題了, ...

規則那因為固定三個變量,你減掉一個,無法匹配了,所以就不正確了,當你需要去掉一個變量時,就需要根據標準的,自己改規則了,而不是復制即用
作者: babyfacer    時間: 2025-10-11 01:00
湖中沉 發表于 2025-10-10 07:31
規則那因為固定三個變量,你減掉一個,無法匹配了,所以就不正確了,當你需要去掉一個變量時,就需要根據 ...

那如果我想要以下的鏈接形式(官方論壇現在就是這樣的吧):
  1. thread-{tid}-{page}-1.html
復制代碼

NGINX的偽靜態設置和偽靜態規則該是怎么樣的?
作者: 湖中沉    時間: 2025-10-11 07:33
babyfacer 發表于 2025-10-11 01:00
那如果我想要以下的鏈接形式(官方論壇現在就是這樣的吧):

NGINX的偽靜態設置和偽靜態規則該是怎么樣 ...

你把原版這一條的貼上來,我給你改下(實際上理論上都不用怎么改,只要固定prepage變量即可)
作者: babyfacer    時間: 2025-10-14 00:14
湖中沉 發表于 2025-10-11 07:33
你把原版這一條的貼上來,我給你改下(實際上理論上都不用怎么改,只要固定prepage變量即可) ...
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
復制代碼

原版就是這個。我想實現的鏈接方式:
  1. thread-{tid}-{page}-1.html
復制代碼

謝了
作者: 湖中沉    時間: 2025-10-14 08:11
babyfacer 發表于 2025-10-14 00:14
原版就是這個。我想實現的鏈接方式:

謝了
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-1\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
復制代碼
這樣應該就行了

作者: babyfacer    時間: 2025-10-15 23:53
湖中沉 發表于 2025-10-14 08:11
這樣應該就行了

謝了。。。。。。。。。。。。。。
作者: babyfacer    時間: 2025-10-23 22:54
湖中沉 發表于 2025-10-14 08:11
這樣應該就行了

想起來了。不是這樣的效果喲。
你的這個寫法,會導致
  1. thread-100-1-3.html
復制代碼

提示:插件不存在或已關閉。因為老的鏈接已經存在了呀,要確保
thread-100-1-1.html
thread-100-1-50.html
thread-100-1-100.html
都能訪問。我看官方論壇是可以的

作者: 湖中沉    時間: 2025-10-24 08:54
babyfacer 發表于 2025-10-23 22:54
想起來了。不是這樣的效果喲。
你的這個寫法,會導致
  1. rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$5&$3 last;
復制代碼

那試試這條(不確定)
作者: babyfacer    時間: 2025-10-24 11:05
湖中沉 發表于 2025-10-24 08:54
那試試這條(不確定)

好像可以了。這樣確實好些,不然之前的收錄或者引用的網址都打不開了




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