如何在精确网址匹配时重定向?

时间:2011-11-21 19:31:20

标签: .htaccess redirect

我正在尝试使用apache .htaccess重定向。我有以下代码

redirectMatch 301 /user http://clients.mydomain.com

效果很好,但我不希望将“/ user / login”定向到“http://clients.mydomain.com/login”

我该如何预防?

2 个答案:

答案 0 :(得分:49)

简单地将^添加到开头,将$添加到结尾

^告诉正则表达式匹配url的开头

$告诉正则表达式匹配url的结尾

redirectMatch 301 ^/user$ http://clients.mydomain.com

现在,您的规则仅匹配/user而非/some/user/user/name/some/user/name


注意:如果您想匹配/user//user,请使用^/user/?$

?表示将前一个字符/组与零匹配

答案 1 :(得分:1)

使用正则表达式,您已经在使用重定向匹配。

http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirectmatch

'$'匹配网址的结尾。在您的示例中:

redirectMatch 301 ^/user/(.+)$ http://clients.example.com/