2014-02-14 66 views
1

我有一个很长的URL与查询字符串,我想永久重定向到一个新的URL,但它不工作。301重定向不能使用长查询字符串

我写下面的.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 

我做错什么了吗?

还有一个301重定向在我的htaccess文件中工作正常。看到以下网址工作正常:

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

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

回答

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] 
+0

感谢Anubhava – tanz

+0

不客气,很高兴它解决了。 – anubhava

相关问题