Apache中解決動態(tài)地址跳轉(zhuǎn)死循環(huán)的方法
問題背景:礦秘書網(wǎng)的歷史遺留問題,剛開始由于各種問題,一些動態(tài)頁面都是用了?id=參數(shù)的形式,對seo/seo.html" target="_blank">搜索引擎不友好,經(jīng)常多方面考慮,還是改成偽靜態(tài)。這里勸各位站長在做新站時,盡量使用偽靜態(tài),不僅對搜索引擎,對用戶體驗也友好。
問題描述:需要將 /news/show_news.php?id=1 形式的地址偽靜態(tài)成 /news/1 形式,而且 /news/show_news.php?id=1 在瀏覽器打開要 301 跳轉(zhuǎn)到 /news/1 去。
但是在 .htaccess 加入規(guī)則,出現(xiàn)了死循環(huán),死循環(huán)規(guī)則如下
RewriteRule ^(d+)$ /news/show_news.php?id=$1 [L] RewriteCond %{QUERY_STRING} ^id=(d+)$ [NC] RewriteRule ^show_news.php$ /news/%1? [L,R=301]
死循環(huán)原因:/news/show_news.php?id=1 跳轉(zhuǎn)到 /news/1,而且 /news/1 被重寫為 /news/show_news.php?id=1,/news/show_news.php?id=1 再次跳轉(zhuǎn)到 /news/1,這樣,淚流滿面!
解決辦法:只要在rewrite的時候,添加一個常量參數(shù),這樣的url和301的url就不一樣了,規(guī)則如下:
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]
終于解決了,淚奔……
以上為真實案例,環(huán)境是apache。
- Apache 虛擬目錄和默認(rèn)首頁的設(shè)置
- Apache Rewrite實現(xiàn)URL的301跳轉(zhuǎn)和域名跳轉(zhuǎn)
- windows中apache 301頁面跳轉(zhuǎn)實現(xiàn)方法
- 讓apache顯示目錄列表的配置方法
- apache設(shè)置自動將http跳轉(zhuǎn)到https的方法
- 禁止apache顯示目錄索引的常見方法(apache禁止列目錄)
- Apache mod_rewrite實現(xiàn)HTTP和HTTPS重定向跳轉(zhuǎn)
- Apache中使非偽靜態(tài)url跳轉(zhuǎn)到偽靜態(tài)url的方法
- Apache的Rewrite設(shè)置多域名301跳轉(zhuǎn)到主域名的方法
- Apache無法自動跳轉(zhuǎn)卻顯示目錄的解決方法
相關(guān)文章
CentOS配置本地yum源/阿里云yum源/163yuan源并配置yum源的優(yōu)先級
這篇文章主要介紹了CentOS配置本地yum源/阿里云yum源/163yuan源并配置yum源的優(yōu)先級,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09有效學(xué)習(xí)Linux系統(tǒng)的4個方法
這篇文章主要為大家詳細(xì)介紹了有效學(xué)習(xí)Linux系統(tǒng)的4個方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01Win7安裝和配置Apache2.4服務(wù)器的詳細(xì)方法
這篇文章主要介紹了Win7安裝和配置Apache2.4服務(wù)器的詳細(xì)方法,需要的朋友可以參考下2017-09-09詳解Linux 下開發(fā)微信小程序安裝開發(fā)工具
這篇文章主要介紹了詳解Linux 下開發(fā)微信小程序安裝開發(fā)工具的相關(guān)資料,需要的朋友可以參考下2017-06-06