2016-02-28 75 views
0

我正在使用mod_rewrite條件/規則,如下所示將URL重定向到www等效項並確保https。RewriteCond和RewriteRule做永久重定向到https:// www。並保留查詢字符串

RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC] 

這一點,例如,轉換example.com/foo/barhttps://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

您需要的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] 
+0

添加QSA標誌對我不起作用。 – jerryxh

+0

'RewriteRule ^(。*)$ https://www.example.com/$1?%{QUERY_STRING} [L,R = 301,NC]' –

+0

感謝您的嘗試,但仍然無法正常工作。 – jerryxh

相關問題