Apache .htaccess重定向查询字符串而不是传播查询字符串
我想做一个永久的重定向Apache .htaccess重定向查询字符串而不是传播查询字符串,apache,.htaccess,mod-rewrite,query-string,Apache,.htaccess,Mod Rewrite,Query String,我想做一个永久的重定向 /ask?search%255Bto%255D=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%255B
/ask?search%255Bto%255D=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
我的问题是,我的重定向url中仍然有查询字符串(?search%255Bto%255D=test)
我希望:
/question/test
而不是
/question/test?search%255Bto%255D=test
感谢您的帮助如果您想清除查询字符串,只需在目标URL结尾加上问号即可。尝试将重写规则更改为:
RewriteRule ^ask$ /question/%1? [R=permanent,L]
这将指定一个新的空查询字符串,因此旧的查询字符串不会作为重定向URL的一部分发送
RewriteRule ^ask$ /question/%1? [R=permanent,L]