htaccess redirect追加查询字符串?

时间:2009-06-29 20:35:50

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

我有一个htaccess重定向,需要将查询字符串转发到新的URL,但是在重定向后它会被删除。有人能告诉我什么是错的吗?

RewriteRule ^services/agents.*$          https://services.example.com/agents/ [R=301,L,QSA]

2 个答案:

答案 0 :(得分:2)

同样的规则在我的服务器上正常运行。问题应该是其他问题。 我在我的服务器上添加了相同的规则,我得到了以下重定向

http://mysite.com/services/agents/foo?foo=bar => https://services.mysite.com/agents/?foo=bar

请注意,您不需要添加QSA标志,因为目标不包含任何查询字符串。 This article可能包含一些有用的信息,可以帮助您处理Htaccess和查询字符串。

答案 1 :(得分:2)

通常,如果没有为替换指定查询,则无需显式附加查询或使用QSA标志。但正如你所说,你的规则不起作用,试试这个:

RewriteRule ^services/agents.*$ https://services.example.com/agents/?%{QUERY_STRING} [R=301,L]