2011-12-12 119 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