我有一个htaccess重定向,需要将查询字符串转发到新的URL,但是在重定向后它会被删除。有人能告诉我什么是错的吗?
RewriteRule ^services/agents.*$ https://services.example.com/agents/ [R=301,L,QSA]
答案 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]