3

http から htpps に変更する方法を教えてください。私のドメイン名には SSL があります。以前はルートにファイル .htaccess を作成していましたが、まったく機能しません。

これが .htaccess のコードです

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

助けてください、事前に感謝します。

4

2 に答える 2

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]
于 2013-06-01T15:37:57.810 に答える
1

このサイトによると(Google での最初の結果)

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

動作するはずです。

于 2013-06-01T15:37:49.473 に答える