8

現在所有している特定のドメインに SSL を強制する方法

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

これは機能していますが、ホスティングにいくつかのアドオン ドメインがあり、他のアドオン ドメインにアクセスしようとすると、アドオン ドメインでも SSL の使用が強制されます。

私はこれを試しました:

RewriteCond %{HTTP_HOST} ^exampledomain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.exampledomain\.org$
RewriteRule ^/?$ "https\:\/\/www\.examplemydomain\.org\/" [R=301,L]

しかし、それは私に無限ループを与えています。

4

3 に答える 3

17

これはうまくいくはずです:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} exampledomain\.org$ [NC]
RewriteRule ^ https://www.examplemydomain.org%{REQUEST_URI}  [R=301,L,NE]
于 2013-10-17T20:46:59.067 に答える
2

ここで 2 つの異なることを行っているようです。欠落しているときに追加し、www使用されていないときに SSL を強制しています。したがって、2 つの異なる条件があり、どちらかが true の場合、リダイレクトを強制する必要があります。つまり、[OR]フラグを使用したいのですが、リクエストがすでに SSLである場合、使用していた方法が壊れます。試す:

RewriteCond %{HTTP_HOST} ^exampledomain\.org$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.examplemydomain.org/$1 [R=301,L]
于 2013-10-17T20:47:59.550 に答える
0

試す:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.){0,1}exampledomain\.org$
RewriteRule ^/?$ "https\:\/\/www\.examplemydomain\.org\/" [R=301,L]
于 2013-10-17T20:43:21.223 に答える