.htaccess重定向QUERY_STRING而不是支持QUERY_STRING

时间:2013-06-12 13:08:42

标签: apache .htaccess mod-rewrite query-string

我想永久重定向

/ask?search%255Bto%255D=test 

/question/test

我添加了我的.htaccess

RewriteCond %{QUERY_STRING} ^search%255Bto%255D=([a-zA-Z0-9\-]*)
RewriteRule ^ask$ /question/%1 [R=permanent,L]

通过这些额外的行,我得到了

/ask?search%255Bto%255D=test 

重定向到

/question/test?search%255Bto%255D=test

我的问题是我的重定向网址中仍然有查询字符串(?search%255Bto%255D = test)。

我想:

/question/test

而不是

/question/test?search%255Bto%255D=test

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果要清除查询字符串,只需使用问号结束目标网址即可。尝试将重写规则更改为:

RewriteRule ^ask$ /question/%1? [R=permanent,L]

这指定了一个新的空查询字符串,因此旧的查询字符串不会作为重定向URL的一部分发送。