htaccess:如何将index.php?search =重定向到基本URL

时间:2010-03-07 16:58:58

标签: rewrite

如何将index.php?search =重定向到基本网址?我用这段代码试了一下:

redirectMatch 301 ^/index.php?search=(.*) http://www.yoursite.com/

但是如果我进入网站域,那么页面会循环代码..

2 个答案:

答案 0 :(得分:1)

mod_alias仅适用于URL path,而不适用于查询:

  

mod_alias旨在处理简单的URL操作任务。对于更复杂的任务,例如操作查询字符串,请使用mod_rewrite提供的工具。

所以请尝试mod_rewrite

RewriteEngine on
RewriteCond %{QUERY_STRING} ^search=(.*)
RewriteRule ^/index\.php$ /? [L,R=301]

或者更一般:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^([^&]*&+)*search=([^&]*)
RewriteRule ^/index\.php$ /? [L,R=301]

如果要在根目录中使用此规则的.htaccess文件,请从模式中删除前导斜杠。

答案 1 :(得分:0)

尝试:

RedirectMatch permanent ^/index.php?search=(.*)$ http://www.yoursite.com/