我正在尝试使用apache .htaccess重定向。我有以下代码
redirectMatch 301 /user http://clients.mydomain.com
效果很好,但我不希望将“/ user / login”定向到“http://clients.mydomain.com/login”
我该如何预防?
答案 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/