2013-06-01 61 views
3

有沒有人可以告訴我如何從http更改爲htpps?我的域名有SSL。我曾經在根目錄下創建文件.htaccess,但它根本不起作用。如何從http更改爲https?

這裏的.htaccess

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://mysite.com/$1 [R=301,L] 

請幫的代碼,預先感謝。

回答

3

對於直接訪問,這似乎是要走的路:

RewriteEngine on 

# rewrite to HTTPS 
RewriteCond ${HTTPS} !on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

(基於文檔:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

但如果你是使用代理(如負載平衡器),你需要使用它發送的頭文件。這裏是我用於此的代碼:

RewriteEngine on 

# rewrite to HTTPS 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

這對我很好,並且不言自明。

當然,您可以將兩者結合起來使其更加健壯,但是在任何真實情況下,您都知道如何使用它;

RewriteEngine on 

# rewrite to HTTPS 
RewriteCond ${HTTPS} !on 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 
1

Accorting到this site(第一個結果對谷歌)

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

應該工作。