Htaccess重定向301从“带参数”到“无参数”

时间:2016-01-15 14:11:44

标签: apache .htaccess mod-rewrite redirect

对于.htaccess文件,我正在为我的新网站创建301重定向:

我想要这个:

  

http://www.website.com/php_file.php?target=value1到   http://www.website.com/NewPage/

  

http://www.website.com/php_file.php?target=value2到   http://www.website.com/OtherNewPage/

我正在尝试

Redirect 301 /php_file.php?target=value1 http://www.website.com/newpage/

但我得到了这个结果:

  

http://www.website.com/?target=value1

1 个答案:

答案 0 :(得分:3)

您可以尝试这样做:

RewriteBase /
RewriteCond %{QUERY_STRING} ^target=value1$
RewriteRule ^php_file.php$ http://www.website.com/newpage/? [R=301,L]

RewriteCond %{QUERY_STRING} ^target=value2$
RewriteRule ^php_file.php$ http://www.website.com/OtherNewPage/? [R=301,L]

此处的关键是在重定向结束时使用?以防止添加旧的查询字符串。