我正在使用如下所示的mod_rewrite条件/规则将网址重定向到www等效项并确保https。
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]
例如,这会将example.com/foo/bar
转换为https://www.example.com/foo/bar
并且正常工作。但是,如果链接包含查询字符串(例如,http://example.com/foo/bar?x=baz&y=qux
),则不会追加查询字符串。如何修改上面的RewriteCond / RewriteRule,以便http://example.com/foo/bar?x=baz&y=qux
自动转换为
https://www.example.com/foo/bar?x=baz&y=qux
附加了查询字符串?我已经尝试在重写规则中添加QSA(查询字符串附加)标志,但这没有帮助。
答案 0 :(得分:0)
您需要QSA标志(查询字符串追加)
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC,QSA]
第二个选项
RewriteRule ^(.*)$ https://www.example.com/$1?%{QUERY_STRING} [L,R=301,NC]