4

ドメインで HTTPS を強制しようとしています。ポート番号ではなくドメイン名で動作する方法を使用して行う必要があります (ホストの構造/セットアップによる)。

私の最も近い試みは:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^.*$ https://www.mydomain.com/$1 [R=301,L]

これは、アドレス バーに「mydomain.com」と入力すると機能し、自動的に「https://mydomain.com」にリダイレクトされますが、「www.mydomain.com」と入力すると機能しません。私はhtaccessを初めて使用し、他のコードからソリューションを作成するのに約4時間費やしたため、構文の問題であると思います。

ポインターの可能性はありますか?


設定をもう少し分かりやすくするために。

/public_html/- このフォルダ内のすべてのファイルは次のものに関連していますwww.mydomain.com
/public_html/subfolder- これらのフォルダには次のものにも関連するファイルが含まれています - これらのフォルダには次のものに関連するファイルmydomain.com
/public_html/subdomainが含まれていますwww.myotherdomain.com

私の他のドメインは のサブドメインでありmydomain.com、ホストのコントロール パネルに表示されます。
例:subdomain.mydomain.comと同じwww.myotherdomain.comです。

うまくいけば、それは構造をクリアします。

4

1 に答える 1

3

リクエストが正確なドメインに対して行われるたびに、リダイレクトが発生しますmydomain.com(これは RewriteCond がテストしているものです)。他のドメインには適用されず、HTTPS は検出されません。代わりにこれを使用してください:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
于 2012-06-14T20:12:26.237 に答える