![安全なページからのリダイレクト](https://rvso.com/image/617254/%E5%AE%89%E5%85%A8%E3%81%AA%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89%E3%81%AE%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88.png)
私は2つのドメインを持っています。1つはhttps://app.example.comSSLが設定されているものと、http://www.example.com(このサイトのSSLは、以前に設定されていました。http://app.example.comSSL が設定されていない (SSL なし)。
問題は、ユーザーが誤って入力した場合https://www.example.comこれは SSL 対応サイトではありません。ユーザーには SSL 対応サイトのコンテンツが表示されます。
両方https://app.example.comそしてhttp://www.example.com同じ IP アドレスを持つ同じサーバー上にあります。
ユーザーがアクセスしたサイトのコンテンツがユーザーに表示されるのを制限するにはどうすればよいでしょうか。(SSL が有効になっていないサイトにユーザーがアクセスすると SSL 証明書の警告が表示されることは承知していますが、これは問題ではありません。)
答え1
mod_rewrite
この場合、このモジュールが役立ちます。SSL 仮想ホスト定義に次のルールを追加してみてください。
RewriteEngine On # enable mod rewriting engine
RewriteCond %{HTTPS} on # if is was used
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] # and if the host is www.example.com
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L] # then rewrite the url it to http