7

入り込むには長すぎて複雑すぎる理由 (何層にもわたる企業のお役所仕事が含まれているため、私が要求したワイルドカード SSL 証明書を他の誰かが購入しないことになります)、すべての要求をhttps://wwwにリダイレクトするようにドメインをセットアップする必要があります。 .xyz.com – サブドメインを使用した安全なプロトコルwww

したがって、 http://xyz.comhttp://www.xyz.com、およびhttps://xyz.comはすべてhttps://www.xyz.comにリダイレクトする必要があります。

私の .htaccess-fu はせいぜい弱く、これを機能させることができないようです。注: それが違いを生む場合、ホスティングは Media Temple にあります。

これまでのところ、私の .htaccess ファイルは次のようになっています。

RewriteEngine On
RewriteCond %{HTTPS} !^on$
RewriteRule (.*) https://www.xyz.com/$1 [R,L]

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

http://xyz.comhttp://www.xyz.comの両方がhttps://www.xyz.comにリダイレクトされています。ただし、https://xyz.comhttps://www.xyz.comにリダイレクトされないため、セキュリティ警告ページがスローされます。

これはおそらくあなたが探しているサイトではありません!
xyz.comにアクセスしようとしましたが、実際には www.xyz.com として識別されるサーバーに到達しまし。これは、サーバーの設定ミスか、より深刻な問題が原因である可能性があります。ネットワーク上の攻撃者が、 xyz.comの偽の (そして潜在的に有害な) バージョンにアクセスさせようとしている可能性があります。
特に、このサイトでこの警告を一度も見たことがない場合は、先に進まないでください。

この最後のこぶを乗り越えるための助けがあれば、大歓迎です!

4

4 に答える 4

9

これは非常に可能です。次のコードを使用します。これは私にとってはうまくいきます。

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}$1
于 2013-10-31T06:27:05.043 に答える
4

将来の誰か (HELLO PEOPLE OF THE FUTURE) がこれに出くわした場合に備えて、私は同じ質問をし、Server Fault で回答してもらいました。

短いバージョン: 不可能。

長いバージョン: https://serverfault.com/questions/523199/redirect-all-http-and-https-non-www-urls-to-https-www-example-com-via-htaccess

于 2013-07-22T21:19:16.300 に答える