php伪静态后301,动态地址rewrite伪静态,然后301跳转到伪静态时死
本文章來給各位同學介紹動態地址rewrite偽靜態,然后301跳轉到偽靜態時死循環解決辦法,有碰到此類的朋友可進入參考。
問題背景:礦秘書網的歷史遺留問題,剛開始由于各種問題,一些動態頁面都是用了?id=參數的形式,對偽靜態。這里勸各位站長在做新站時,盡量使用偽靜態,不僅對搜索引擎,對用戶體驗也友好。
問題描述:需要將 /news/show_news.php?id=1 形式的地址偽靜態成 /news/1 形式,而且 /news/show_news.php?id=1 在瀏覽器打開要 301 跳轉到 /news/1 去。
但是在 .htaccess 加入規則,出現了死循環,死循環規則如下
代碼如下
復制代碼
RewriteRule ^(d+)$ /news/show_news.php?id=$1 [L]
RewriteCond %{QUERY_STRING} ^id=(d+)$ [NC]
RewriteRule ^show_news.php$ /news/%1? [L,R=301]
死循環原因:/news/show_news.php?id=1 跳轉到 /news/1,而且 /news/1 被重寫為 /news/show_news.php?id=1,/news/show_news.php?id=1 再次跳轉到? /news/1,這樣,淚流滿面!
解決辦法:只要在rewrite的時候,添加一個常量參數,這樣的url和301的url就不一樣了,規則如下:
代碼如下
復制代碼
RewriteRule ^(d+)$ /news/show_news.php?id=$1&r=1 [L]
RewriteCond %{QUERY_STRING} ^id=(d+)$ [NC]
RewriteRule ^show_news.php$ /news/%1? [L,R=301]
終于解決了,淚奔……
以上為真實案例,環境是apache。
(責任編輯:最模板)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php伪静态后301,动态地址rewrite伪静态,然后301跳转到伪静态时死的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sublime配置python3环境_【
- 下一篇: mysql完整字段包括_MySQL字段类