将查询字符串从站点根目录重定向到子域站点根目录

Redirect Query String from Site Root to Sub-Domain Site Root

我正在尝试重定向

http://example.com/?download_invoice=true&attendee_id=28916&r_id=504-55803a183a0cf

http://secure.example.com/?download_invoice=true&attendee_id=28916&r_id=504-55803a183a0cf

但运气不好。我可以使用以下语法从子目录重定向查询字符串:

RewriteCond %{REQUEST_URI} ^/sub-directory/$
RewriteRule ^.*$ http://secure.example.com/sub-directory/ [L,R=301]

但不知道如何从站点根目录执行此操作。任何帮助将不胜感激,提前致谢!

您需要匹配 RewriteCond 中的主机名和 RewriteRule 中的模式 ^$:

RewriteCond %{QUERY_STRING} .
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$
RewriteRule ^/?$ http://secure.%1/ [L,R=301]

QUERY_STRING 自动转发到目标 URL。