用于重写潜在扩展名的URL重写规则

时间:2012-01-18 18:56:50

标签: regex apache mod-rewrite

以下规则会将domain.com/2009/05/url-of-some-awesomeness/重写为domain.com/url-of-some-awesomeness/

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

网站中有一些旧链接保留了旧版本的结构.html因此需要修改规则以重写上述内容或domain.com/2009/05/url-of-some-awesomeness.htmldomain.com/2009/05/url-of-some-awesomeness/feed/domain.com/url-of-some-awesomeness/

1 个答案:

答案 0 :(得分:1)

我想.htm或.html就在最后,你不希望它成为$3的一部分吗?

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

提示:下次尝试绝对具体。 “在某些情况下原始请求可能包含.html .htm或/ feed /”的情况大致相同。