はてなブログProで独自ドメインのブログを運営する場合、はてなブログProの仕様で独自ドメインの冒頭にサブドメインを設定しなければなりません。
僕が運営しているブログ「缶詰クラブ」を例に挙げると、さくらインターネットで「kanzumeclub.com」というドメインを取得しましたが、実際のブログURLは「https://www.kanzumeclub.com/」であり、「kanzumeclub.com」の前に「www.」が付いています。この「www」の部分は別の文字列でも(「blog.」など)問題ありませんが、一般的によく見かけるという理由で「www.」にしました。
ブロクのURLに強いこだわりは無いので「https://www.kanzumeclub.com/」というURLに不満はありません。ですが、「www.」なしのURL(http://kanzumeclub.com/)にアクセスしたときに「www.」ありのURL(https://www.kanzumeclub.com/)にリダイレクトさせる必要が生じましたので、実際にやってみた方法を書いておきたいと思います。
「wwwなし」のURLを「wwwあり」にリダイレクトする方法の記事は検索すると結構出てきますが、この記事は「さくらインターネットで取得した独自ドメインを使い、はてなブログProで運営しているブログ」向けになります。
スポンサーリンク
「wwwなし」を「wwwあり」にリダイレクトする必要が生じた経緯
まず、なぜ「wwwなし」を「wwwあり」にリダイレクトしなければならなくなったのかを説明しておきます。
それは「wwwなし」のURLにアクセスしたときにブログが表示されない状態だとGoogle AdSenseの審査に通らなかったからです。Google AdSenseの審査結果には具体的に「ここがこうだからダメだよ」とは記載されていませんが、「wwwなし」を「wwwあり」にリダイレクトさせてから再度審査に出したらすぐに通り、無事広告を設置することができるようになったので、おおむねそこが原因だったのだと思います。
Google AdSenseにサイトを追加する際には実際のURLではなく独自ドメインを登録する仕様になっています。「缶詰クラブ」で言うと「kanzumeclub.com」です。しかし、実際のURLは「https://www.kanzumeclub.com/」であり、「kanzumeclub.com」もしくは「http://kanzumeclub.com/」を叩いてもブログは表示されない状態なので、Google AdSense側には審査以前にブログが存在しないと認識されていたようです。(この辺は予想です)
スポンサーリンク
「wwwなし」を「wwwあり」にリダイレクトする方法
それでは実際に「wwwなし」を「wwwあり」にリダイレクトするために行ったことを説明していきます。「缶詰クラブ」と同じ状況でお困りの方の参考のために書いていきますが、実行される場合は自己責任でお願いします。
※サポートに問い合わせなどを行いつつ進めた方法なので後ろめたいことは全くありません
1. 前提条件
まずは「缶詰クラブ」と同じ状況であるという前提で進めたいので、整理しておきます。
さくらインターネットでドメインを取得し、はてなブログProで独自ドメイン(「www.」あり)のブログを運営している状態とします。「缶詰クラブ」で言うと、「https://www.kanzumeclub.com/」にアクセスするとページが表示されるが、「kanzumeclub.com」もしくは「http://kanzumeclub.com/」を叩くと下記のような表示が出る状態です。
2. 新たにサーバーを契約する
次にさくらインターネットでサーバーを借ります。今回の方法ではこのサーバー代が追加のコストとして必要になります。
後述しますが、今回の方法では「.htaccessファイル」にリダイレクト処理の記述をすることによって「wwwなし」を「wwwあり」にリダイレクトさせます。この「.htaccessファイル」をアップロードするためのサーバーが必要になるのです。
これをはてなブログのサーバーにアップロードできれば楽だったのかもしれませんが、はてなブログ側にはそのような機能は無いのでさくらインターネット側のサーバーを借りるしかありませんでした。
アップロードするのは「.htaccessファイル」だけなので借りるのは一番容量の少ないライトプランで充分かと思います。ブログ記事や画像などはこれまでと変わらずはてなブログのサーバーにアップロードされます。
申し込み画面で初期ドメインを決めます。この初期ドメインは特に使うことは無いので好きな文字列で大丈夫です。また、「レンタルサーバーだけ契約する」か「独自ドメインも取得する」かを選択する箇所がありますが、独自ドメインはすでに取得している前提なので「レンタルサーバーだけ契約する」を選択します。
レンタルサーバーの契約が完了すると、サーバコントロールパネルにアクセスできるようになります。
最終的にはこのサーバコントロールパネルのファイルマネージャーから「.htaccessファイル」をアップロードすることになりますが、その前に準備がありますので、とりあえずここではログインできることだけ確認しておいてください。
3. 現在のゾーン(サーバーとドメイン情報の紐付き)の削除
レンタルサーバーを借りることができたら、次はそのサーバーとドメイン情報を紐付ける作業になります。これをゾーン編集といいます。
新たなレンタルサーバーにドメインを設定する前に、現在のゾーンを削除する必要があります。今回の前提だと、元々さくらインターネットで取得したドメインがはてなブログProのサーバーと紐付いた状態になっているはずなので、一旦それを削除するということです。
ゾーン削除の方法はこちらを参考にしました。
4. 新たなゾーン(レンタルしたサーバーとドメイン情報の紐付け)作成を行う
次に今回新たに契約したレンタルサーバーと元々使用しているドメイン(kanzumeclub.com)の紐付けを行います。
ゾーン作成の方法はこちらを参考にしました。
※今回のようにドメインの削除後、同じドメインを追加する場合は2時間以上空けてください
5. 「www.kanzumeclub.com」のゾーン編集ではてなブログのサーバーと紐付ける
次に元々運営していた「https://www.kanzumeclub.com/」をこれまで通りはてなブログProで運用できるように「www.kanzumeclub.com」をはてなブログProのサーバーと紐付けを行います。
この辺りからちょっとややこしいのですが、手順4で行ったゾーンでは「kanzumeclub.com」とさくらのレンタルサーバーを紐付けました。これだけでははてなブログのサーバーとは紐付いていない状態なので、サブドメインが付いた「www.kanzumeclub.com」だけをはてなブログのサーバーと紐付けます。
ゾーンの編集に関してはこちらを参考にしました。
さくらインターネットの管理画面から「契約情報」⇒「契約ドメインの確認」⇒「ドメインメニュー」⇒「ゾーン編集」と進みます。
画面左にある「変更」ボタンをクリックすると各項目の削除や追加、編集を行うことができます。
ここでエントリ名「www」がある場合はそれを編集。無い場合は追加します。エントリ名に「www」を入力し、種別のプルダウンで「別名(CNAME)」を選択します。そして値には「hatenablog.com.」を入力して登録します。この辺りの設定ははてなブログの仕様です。参考はこちら。
※値の「hatenablog.com.」ですが、最後のドット「.」を忘れがちなので注意
※ドメインのゾーン情報変更後は反映までに最大48時間かかる場合があります
6. リダイレクト設定を行う
最後にサーバコントロールパネルからリダイレクト処理を記述した「.htaccessファイル」をアップロードします。
まずはサーバコントロールパネルを開き、「ドメイン/SSL設定」をクリックします。
ここで初期ドメイン「○○○.sakura.ne.jp」(○○○はサーバーレンタル契約のときに決めた任意の文字列)とブログで使用する独自ドメイン「kanzumeclub.com」があることを確認します。
上記の画面の「kanzumeclub.com」のパスという項目に「/kanzumeclub」と記載があるかと思います。この「/△△△」の△△△部分が後ほど使うファイルマネージャーのフォルダ名になりますのでコピーしておきます。△△△部分は分かりやすいように独自ドメインと同じ文字列にしてありますが、任意の文字列で構いません。未設定の場合は設定しておいてください。
そして、サーバコントロールパネルの「ファイルマネージャー」を開きます。
「ファイルマネージャー」にはデフォルトで初期ドメインの階層しかありません。今回で言うと「 /home/haranomachi/www」という階層です。
この階層に「.htaccessファイル」をアップロードしても、それは初期ドメインに指定したことになり、独自ドメインには指定されていません。ここで先ほどコピーした△△△という名前でフォルダを作成します。「 /home/haranomachi/www」を選択した状態で右クリック⇒「フォルダ作成」。そして、このフォルダの中に「.htaccessファイル」をアップロードします。下記のような状態です。
作成したフォルダを選択した状態で「表示アドレスへの操作」⇒「ファイル作成」⇒内容を記述してファイル名を「.htaccess」にするという手順です。作成手順の参考はこちら。
「.htaccess」の記述内容は下記です。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(□□□\.com)$ [NC]
RewriteRule (.*) https://www.□□□.com%{REQUEST_URI} [R=301,L]
□□□の部分が独自ドメインの文字列になります。取得したドメインによっては「.com」が「.jp」だったりすると思うので、書き換えてください。
「.htaccessファイル」によるアクセス制御の参考例はこちら。
これでリダイレクトさせるための設定は以上です。分かりづらい部分などあるかと思いますが、都度リライトなどしていきたいと思いますので、もし不明点などありましたらお問い合わせフォームよりご連絡ください。
※場合によっては回答できないこともあるかもしれませんがご了承ください