htaccess重定向完全匹配,排除所有查询字符串

时间:2013-06-25 07:30:30

标签: .htaccess

我正在尝试将http://domain.com/search重定向到http://domain.com

但是我也有类似http://domain.com/search?q=someword

的网址

目前我有:

redirectMatch 301 http://domain.com/search$ http://domain.com

即使它正确地重定向了http://domain.com/search网址,它也会将任何http://domain.com/search?q=someword网址重定向到http://domain.com/?q=someword,这是我不想要的。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我建议您在htaccess中使用mod_rewrite代替mod_alias

RewriteEngine On
RewriteBase /
RewriteRule ^search/?$ / [L,R=301]

答案 1 :(得分:0)

在目标的末尾添加?

RedirectMatch 301 ^/search$ http://domain.com/?

然而,这会导致?出现在浏览器位置栏中URL的末尾。如果您改用mod_rewrite,则不会看到?

RewriteEngine On
RewriteRule ^/?search$ /? [L,R=301]