【发布时间】:2010-11-06 19:39:11
【问题描述】:
我有一个需要将查询字符串转发到新 URL 的 htaccess 重定向,但它在重定向后被丢弃。谁能告诉我怎么了?
RewriteRule ^services/agents.*$ https://services.example.com/agents/ [R=301,L,QSA]
【问题讨论】:
标签: .htaccess mod-rewrite redirect query-string
我有一个需要将查询字符串转发到新 URL 的 htaccess 重定向,但它在重定向后被丢弃。谁能告诉我怎么了?
RewriteRule ^services/agents.*$ https://services.example.com/agents/ [R=301,L,QSA]
【问题讨论】:
标签: .htaccess mod-rewrite redirect query-string
同样的规则在我的服务器上运行良好。问题应该是别的。 我在我的服务器上添加了相同的规则,我得到了以下重定向
http://mysite.com/services/agents/foo?foo=bar => https://services.mysite.com/agents/?foo=bar
请注意,您不需要添加 QSA 标志,因为目标不包含任何查询字符串。 This article 可能包含一些有用的信息来帮助您处理 Htaccess 和查询字符串。
【讨论】:
一般来说,如果您没有为替换指定查询,则无需显式附加查询或使用 QSA 标志。但正如你所说,你的规则不起作用,试试这个:
RewriteRule ^services/agents.*$ https://services.example.com/agents/?%{QUERY_STRING} [R=301,L]
【讨论】: