.htaccess如何使用ignore解决重定向问题

时间:2017-09-07 19:06:41

标签: .htaccess redirect mod-rewrite

我想在我的.htaccess中解决这个问题

我想重定向所有匹配的网址,例如。 /2017/02/some-slug/some-slug

但我想忽略这样的网址/2017/02/page/3

我已经设法完成了第一部分:

RewriteRule ^/([0-9]{4})/([0-9]{2})/([a-z0-9-\/]+)$ /$3 [R=301,L]

我对第二部分的问题是忽略的。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以在正则表达式模式中使用否定前瞻:

RewriteRule ^/?\d{4}/\d{2}/(?!page/\d+/?$)(.+)$ /$1 [R=301,L,NC,NE]

此处(?!page/3/?$)为负面预测,在year/month/后跟page/3时声明失败。