301重定向不适用于长查询字符串

时间:2014-02-14 05:48:18

标签: apache .htaccess redirect

我有一个带有查询字符串的长网址,我希望将其永久重定向到新网址但不起作用。

我正在写下.htaccess文件

Redirect 301 /view-all/?c=low-loader-transport&c_new_value=false&sc=&sc_new_value=false&State_Suburb=on&lsu=&lsu_new_value=false&lst=&lst_new_value=false&l_ht[]=607&l_ht[_new_value]=false&l_t=578&search-now.x=80&search-now.y=21 http://www.testdomain.com/low-loader-transport

我做错了吗?

我的htaccess文件中还有一个301重定向工作正常。请参阅以下URL,该工作正常:

Redirect 301 /index.php http://www.testdomain.com

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:0)

您无法使用Redirect指令匹配查询字符串。像这样使用mod_rewrite规则:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^c=low-loader-transport&c_new_value=false&sc=&sc_new_value=false&State_Suburb=on&lsu=&lsu_new_value=false&lst=&lst_new_value=false&l_ht[]=607&l_ht[_new_value]=false&l_t=578&search-now.x=80&search-now\.y=21$
RewriteRule ^view-all/?$ http://www.testdomain.com/low-loader-transport/? [L,R=301]