Regex 用于重写潜在扩展名的URL重写规则
以下规则将Regex 用于重写潜在扩展名的URL重写规则,regex,apache,mod-rewrite,Regex,Apache,Mod Rewrite,以下规则将domain.com/2009/05/url of some awesome/重写为domain.com/url of some awesome/: RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.+)$ /$3 [NC,R=301,L] 网站中有一些旧链接保留了had.html的旧结构,因此需要修改规则以重写上述内容,或者将某些awesomeness.html的domain.com/2009/05/url或domain.com/2009/05/
domain.com/2009/05/url of some awesome/
重写为domain.com/url of some awesome/
:
RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.+)$ /$3 [NC,R=301,L]
网站中有一些旧链接保留了had.html的旧结构,因此需要修改规则以重写上述内容,或者将某些awesomeness.html的
domain.com/2009/05/url
或domain.com/2009/05/url/feed/
改写为某些awesomeness的domain.com/url/
我认为.htm或.html位于末尾,您不希望它成为$3
的一部分吗
RewriteRule ^([0-9]{4})/([0-9]{1,2})/((?:(?!\.html?$).)+)(?:\.html?)?$ /$3 [NC,R=301,L]
提示:下次尽量说得绝对具体。“在某些情况下,原始请求可能有一个.html.htm或/feed/”,这是非常模糊的。因此,如果原始URI是
domain.com/2009/05/foo.html
如果您只是剥离任何“/yyyy/mm”值,是否希望它重定向到domain.com/foo.html
,您需要添加一个规范的元标记,以便将seo页面排名分配给主页面。进一步阅读:@anubhava,这在某种程度上是原始重写完成的。正确。我更新了这个问题,以便其他观众能更清楚地理解这个问题。