2011-12-12 112 views
2

以下的mod_rewrite規則重寫完成對www.domain.com/2011/11/pagewww.domain.com/page任務,但打破www.domain.com/2011/11/(即打破的WordPress存檔列表),並將其重定向到站點的根目錄。使用mod_rewrite重寫WordPress的永久鏈接URL打破存檔

重寫規則只能重寫有內容^([0-9]{4})/([0-9]{1,2})/page後但不^([0-9]{4})/([0-9]{1,2})/項目。

RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.*)$ /$3 [NC,R=301,L] 

有什麼建議嗎?

ANSWER

初始斜槓失蹤開頭:

RewriteRule ^/([0-9]{4})/([0-9]{2})/(.*)$ /$3 [NC,R=301,L] 

,需要WordPress的永久鏈接進入:代替

/%postname%/ 

%postname% 

雖然我不知道後面有多少幫助。

+1

有什麼問題@Astron? – Odys

+0

我anwsered晚了一點,但我沒有足夠的積分,在8小時內回答我自己的問題。 – Astron

回答

2

我想你需要的*更改爲+

RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.*)$ /$3 [NC,R=301,L] 

應該

RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.+)$ /$3 [NC,R=301,L] 

隨着(),它可能什麼都不匹配,因此要求如「/ 2011/11 /」將匹配但對於背面參考()將是空白,從而重寫進行到‘/’。所述+表明,需要有至少1滿足字符「」在正則表達式中。

+0

雖然我只是無法及時回答我自己的問題,但'*'實際上可行,但我會給你信用;-) – Astron