2013-04-22 98 views
0

我对正则表达式不太熟悉,而且在实现我想要的功能时遇到了问题。htaccess删除查询字符串

我正在使用的网站曾经有一个wordpress博客,并且在互联网上有指向http://www.website.com/?p=(random号码的现有链接。

当前的代码我现在似乎还没有工作:

RewriteCond %{QUERY_STRING} p=(.*) 
RewriteRule http://www.website.com/ [R=301,L] 

事实上,如果有删除任何类型的查询字符串的索引页的方式,这将是更好的。

在此先感谢。

回答

3

如果要删除所有查询字符串,无论

RewriteCond %{QUERY_STRING} . 
RewriteRule ^$ /? [R,L] 

此测试是否有任何查询字符串.,然后重定向到主页没有查询字符串/?

决不测试与301启用,看到这个答案 Tips for debugging .htaccess rewrite rules 了解详情。

+0

太棒了!正是我想要的 – Brian 2013-04-22 20:51:03

+0

我不需要删除所有重定向上的所有查询字符串,但thx的提示。我有问题,QSD标志给我一个错误500,因为QSD标志是为Apache v2.4.0及更高版本,而我的主机有一个旧版本运行。添加?在规则的末尾删除了该特定规则的查询字符串。 :) – 2015-06-24 08:35:45

相关问题