URL/URIをセットアップするにはどうすればよいですか
http(s)://(www).example.(com/net/org)/somepath
最終的に対応する:
https://example.com/somepath
解決策(ある場合)には、DNS設定と.htaccess
ブードゥー教が関係していると思います。しかし、私はそれらがどのように機能するのか本当に理解していません(特に.htaccess
)。そのため、何を読むべきかについての具体的な提案も歓迎します。 (はい、グーグルで検索できますが、これはかなり具体的かつ/または難解な質問のようで、解決策を講じることに失敗しました。または、私は愚かかもしれません...)
ドメインexample.net
/.org
/.com
がすべて同じレジストラに登録されています。レジストラのドメイン設定を介して、example.net
と.org
をセットアップして(301)をexample.com
にリダイレクトします。 ApacheとcPanelを使用する別の共有ホスティング会社でexample.com
をホストしています。
現在、いくつかのリダイレクトが機能します:http://(with or without www).example.(net/org)
=> http://example.com
。
ただし、http://www.example.com
はhttp://example.com
だけにリダイレクトしません。
トリッキーな部分になりました。 Webホストには「SNIベースのSSL」もあります。したがって、https://exmple.com
とhttps://www.example.com
は両方とも機能しますが、httpsでは、www URLはベースドメイン(https://example.com
)にリダイレクトしません。
さらに、https://example.net
は、wwwの有無にかかわらず機能しません(接続できません/タイムアウトします)。
要するに、可能であれば、上記のすべての順列を、対応するものになるように構成するにはどうすればよいですか?
https://example.com/somepath
または、答えが実装するために博士論文の完了を必要とする場合、一般的/合理的なセットアップとは何ですか?
さらに、
https://example.net
は、wwwの有無にかかわらず機能しません(接続できません/タイムアウトします)。
.net
および.org
がHTTPSで機能するには、これらのドメインをカバーするSSL証明書が必要です(.com
で既に行っているように)-「SNIベースのSSL」で問題ありません。ただし、これを行うには、おそらく、これらのドメインのDNSが同じサーバー(ホスティングアカウント)を指し、これらのドメインがcPanelアカウント内で「エイリアス」(または「駐車」)ドメインとして構成されている必要があります。すなわち。おそらくexample.com
に対して行ったのと同じように、レジストラでこれらのドメインのNAMESERVERSを変更します。 (これは、ドメインレジストラーがこれらのドメインに対してSSLを構成でき、その端から適切なリダイレクトを構成できる場合を除きます-これは非常に疑わしいです。)
その後、cPanel内のこれらの追加ドメイン名をカバーするSSL証明書を発行できます(「Let's Encrypt」?)。
現在、DNSはレジストラによって処理されているため、レジストラからの.net
および.org
のリダイレクトがあります。 DNSをWebホストに向けると、これらのリダイレクトは自然に機能しなくなります。
そして今、.htaccess
"voodoo"がすべてを正規のホスト(example.com
)とHTTPSにリダイレクトします。実際、リダイレクトに関する限り、それほど悪くはありません。
ドキュメントルートの.htaccess
ファイルの上部に、次のmod_rewriteディレクティブを追加します。
RewriteEngine On
RewriteCond %{HTTP_Host} !^example\.com$ [OR]
RewriteCond %{HTTPS} !on
RewriteRule ^ https://example.com%{REQUEST_URI} [R=302,L]
上記の状態...要求されたホストがnotexample.com
(正規ホスト)であるか、要求がHTTPS(希望するスキーム)でない場合、https://example.com/somepath
にリダイレクトします。
上記は302(一時)リダイレクトであることに注意してください。これが正常に機能していることを確認した場合にのみ、これを301(永続)に変更します。 301はブラウザによって(デフォルトで)ハードキャッシュされるため、テストに問題が生じる可能性があります。