忽略重定向中URL的一部分

时间:2016-01-13 16:55:11

标签: php .htaccess redirect

我已经设置了从旧网站到新版本的重定向。 例如:

RedirectMatch 301 /articles/(.*) http://domain.com/articles/entry/$1

这非常有效,直到我访问domain.com/articles/entry/page-title网址并重复/输入细分。

即。 domain.com/articles/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/页标题

有没有办法设置旧网址的重定向重定向到新网址而不添加其他/条目细分?

1 个答案:

答案 0 :(得分:3)

您必须在正则表达式中使用锚点,以确保仅在开始时匹配/articles,并使用前置负数来停止重定向循环:

RedirectMatch 301 ^/articles/(?!(?:entry/|P\d))(.*)$ http://domain.com/articles/entry/$1

确保在测试此更改之前清除浏览器缓存。