「コアサーバーって、ドメイン設定がなんだかやたら面倒だった気がする……」そんなうっすらとした記憶だけを頼りに、久しぶりにコアサーバーの管理画面を開いて、Value Domainで取得したドメインを紐付けようとしたら、想像以上に手こずってしまいました。
特に苦戦したのが、「http://とhttps://の統一」「wwwありなしの統一」というごく基本的な部分です。同じような場面で「あれ、これどうやるんだっけ」となった方の参考になればと思い、つまずいたポイントを記録しておきます。
この記事のポイント
- コアサーバーのプラン(V1・V2)によってドメイン周りの設定や案内が異なる点
- URLの正規化(wwwあり・なし、http・https)とは何をすることなのか
- example.comとwww.example.comを、それぞれディレクトリとして分けて扱う仕様の面倒さ
- .htaccessで最終的にURLを1つに統一するまでの流れ
まず、コアサーバー自体の設定でひと苦労
コアサーバーには、契約プランによって「V1プラン」と「V2プラン」という区分があり、それぞれで案内されているマニュアルのページや、利用できるドメイン関連の仕組み(永久無料ドメインの扱いなど)が異なります。久しぶりに触ったこともあり、まず「自分の契約はどちらのプランで、どのマニュアルを見ればいいのか」を確認するところから始める羽目になりました。
普段からこの手のサーバー管理画面を頻繁に触っている方であれば当たり前の話かもしれませんが、たまにしか触らない身としては、「あれ、前と画面が違う気がする」「このネームサーバーの設定はどのプラン向けの話だっけ」と、地味に時間を取られるポイントです。
本題:wwwあり・なし、http・httpsの統一が想像以上に面倒だった
今回一番手こずったのは、プランの違いよりもむしろURLの正規化と呼ばれる作業でした。1つのドメインには、実は次の4パターンのアクセス方法が存在します。
- http://example.com
- https://example.com
- http://www.example.com
- https://www.example.com
本来であれば、どのパターンでアクセスされても、最終的に狙ったURL(例えば「https://example.com(wwwなし)」)に統一して表示させたいわけですが、コアサーバー上でこれを実現するための手順が、想像していたよりも一手間も二手間も多い仕様でした。
ディレクトリを2つ作る、という発想がまずひっかかった
具体的には、次のような流れで設定を行う必要があります。
- 「example.com」というディレクトリを作成する
- そのディレクトリに対して、SSL(https化)の設定を行う
- 続けて「www.example.com」というディレクトリを、あえて別に明示的に作成する
- 「www.example.com」のディレクトリに対しても、同様にSSLの設定を行う
- それぞれのディレクトリに
.htaccessを設置し、「httpsを共通にする」「wwwなしに統一する」というルールを記述する
ポイントは、「example.com」と「www.example.com」が、システム上は別々のディレクトリとして扱われるという点です。感覚としては1つのドメインのバリエーション違いに過ぎないのですが、コアサーバー上ではそれぞれ独立したディレクトリとして作成し、それぞれにSSLを適用してあげる必要があります。
「最終的にwwwなしのhttps://example.comに統一したいだけなのに、なぜwww付きの方までわざわざディレクトリを作ってSSLを設定しないといけないのか」というのが、正直な最初の感想でした。
設定パターンの整理
混乱しやすいポイントなので、今回行った設定を表にまとめておきます。
| ディレクトリ | SSLの設定 | .htaccessでの役割 |
|---|---|---|
| example.com | 適用する | httpでのアクセスをhttpsへリダイレクト |
| www.example.com | こちらにも別途適用する | wwwありでのアクセスを、wwwなしのURLへリダイレクト |
つまり、最終的な着地点は「https://example.com」の1つだけなのに、その手前にある2つの入口(example.comとwww.example.com)それぞれに、個別のSSL証明書とリダイレクトルールを用意してあげる必要がある、という仕様です。
実際に使った.htaccessの記述
それぞれのディレクトリに設置した.htaccessの中身は、大まかには次のような内容です。実際の環境に合わせて、ドメイン名の部分は書き換えてください。
「example.com」ディレクトリ側(httpをhttpsへ統一)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
「www.example.com」ディレクトリ側(wwwなしへ統一)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
1つ目の.htaccessで「httpできたアクセスをhttpsに直す」役割を、2つ目の.htaccessで「wwwありできたアクセスを、wwwなしのURLへ直す」役割を、それぞれ別のディレクトリで分担させている形です。この2つが揃って初めて、どのパターンでアクセスされても最終的に同じURLへたどり着く、という状態になります。
⚠️ 注意しておきたいポイント
ドメイン名やパスは環境によって異なります。上記のコードをそのままコピーするのではなく、必ず自分のドメインに合わせて書き換えたうえで、設定後は必ず4パターンすべてのURL(http・https × wwwあり・なし)で実際にアクセスして、想定通りリダイレクトされるかを確認してください。
設定前に確認しておきたいチェックリスト
今回の反省を踏まえて、次に同じ作業をする時のために、事前に確認しておきたい項目を整理しました。
- 自分のコアサーバーの契約プランが「V1」か「V2」かを確認したか
- 最終的に統一したいURLの形(wwwあり・なし、httpsか)を先に決めているか
- 「example.com」と「www.example.com」を、それぞれ別ディレクトリとして作成する必要があることを理解しているか
- 両方のディレクトリに対して、それぞれSSLの設定を行う必要があることを理解しているか
- 設定後に、4パターンすべてのURLで正しくリダイレクトされるかテストする準備があるか
なお、wwwあり・なしの統一やhttp・https統一の仕組み自体は、コアサーバーに限った特殊な話ではなく、多くのレンタルサーバーで共通する一般的な考え方です。ただ、その設定を行うための管理画面上の手順や、ディレクトリの分け方といった具体的な仕様は、サーバー会社ごとに差があります。コアサーバーの場合は、この「2つのディレクトリを個別に作ってSSLを適用する」という点が、久しぶりに触った身にはやや癖のある仕様に感じられました。
まとめ
Value Domainで取得したドメインをコアサーバーで運用する際は、契約プラン(V1・V2)による違いに加えて、URLの正規化(wwwあり・なし、http・https)の設定でつまずきやすいポイントがあります。特に、「example.com」と「www.example.com」をそれぞれ別ディレクトリとして作成し、両方にSSLを適用したうえで、.htaccessで最終的なURLへ統一するという流れは、頭の中で整理しておかないと迷いやすい仕様です。
これから同じ設定を行う方は、まず「最終的にどのURLに統一したいか」を先に決めたうえで、2つのディレクトリそれぞれにSSLと.htaccessを用意する、という順番で進めてみてください。設定後は、必ず4パターンのURLすべてで実際にアクセスして、意図した通りにリダイレクトされているかを確認しておくと安心です。

0 件のコメント:
コメントを投稿