【.htaccess】さくらインターネットでのWWWあり・なしドメイン設定

WWWあり・なしドメイン設定
どうも最近 Bingの検索結果に上手く自サイトが表示されず、困ってウロウロしている中で、
【 http://●●.com 】と【 http://www.●●.com 】
どちらもアクセスしたら【 http://●●.com 】に辿り着くはずなのに、上手く【 http://●●.com 】に統合されていないと気づいたので、改めて.htaccessファイルの設定方法や、WWWなしURLにリダイレクトする手順などを書いてみます。
同じ状況で困っている方の参考になりましたら幸いです。

.htaccess(エイチティーアクセス)ファイルとは

【.htaccess】特定の相手のアクセスを拒否・サイトに制限をかける の記事でもお話しましたが、.htaccessファイルとは、サーバーの挙動を制御するApacheというプログラムソフトに対する設定を行うもの。

こう言うと分かりづらいのですが、要するに、自分のサイトが間借りしているサーバーに対して『こういう時はこうしてほしい』というお願いを記述するファイルが.htaccessということです。


編集前の注意点

.htaccess ファイルは記述やアップロード方法を間違えるとサイトそのものがエラーで表示されなくなったりもしますので取り扱いは慎重になさってください。
また、何か間違えてしまった時にすぐ元に戻せるように念のため元の.htaccess ファイルのコピーを保存しておきましょう。
もし.htaccess ファイルをいじった後で自サイトにアクセスしてエラーが出るようなら、一旦アップロードした.htaccess ファイルを削除してサイトを正常な状態に戻してください。

ファイルに記述した内容と間違い方によっては、処理を延々と繰り返す状態になってしまい、自分が借りているレンタルサーバーに多大な負荷が掛かり、最悪の場合はサーバーがダウンします。
もしサーバーがダウンすると、同じサーバーを借りている他のサイトさんも表示されない状態になってしまい、大変な迷惑が掛かってしまいます。
さすがにこれは滅多に起きることではありませんが、その可能性もあるということを覚えておいていただいて、エラーが出たまま放置せず、すぐに修正や削除を行うようにしてくださいね。

今の.htaccess ファイルの状態を保存・確認

いつも.htaccess ファイルを編集して使っている方なら良いのですが、今まではテンプレートを借りてそのまま運営していて、今回初めて.htaccess ファイルをいじる、という方はまず現状の確認と、コピー作成を行ってください。

FFFTPなどのFTPクライアントソフトを使って、現状の.htaccess ファイルをダウンロードします。
htaccessファイルダウンロード
サイトの構成ファイルが保存されているフォルダを開き、ダウンロードした.htaccess ファイルを見つけてください。
右クリックでコピー&貼り付けして複製を作り、ファイルの名前と拡張子を変更します。
『 .(ドット) 』 から始まる名前のままだと、編集・保存ができないので、ドットは削除を削除してテキスト用の拡張子『.txt』を最後に付け足すか、適当に自分に 『 これは.htaccessのバックアップファイル 』 と分かる名前に変更しましょう。
いざという時に使うため、間違えて編集・削除しないようご注意ください。
.htaccessの名前変更
次に元のファイルの名前を変更します。
これも『 .(ドット) 』 から始まる名前のままだと、編集・保存ができないので、一時的に名前を変更するか、テキスト用の拡張子『.txt』を付けてください。

テキストファイルとして保存されたら、ダブルクリックで開くか、テキストエディタを選択して開きます。
例えばメモ帳で開くとこんな感じ。
.htaccessをメモ帳で開く
サイト作成時にどこかのサイトさんからテンプレートをお借りしてサイトを作った場合、最初から .htaccess ファイルがくっついていることもあります。
その場合もほぼデフォルトの状態で何も記載されていないと思いますが、既に何かが記載されている場合は、何が書かれているのかこの機会に調べてみてくださいね。

そもそもさくらインターネットでのドメイン設定が間違ってた

WWWありのURLにアクセスしたらWWWなしのURLに飛ばしてほしい、という希望を叶えるために.htaccess ファイルにいくらリダイレクトの記述を入れても反映されない。
悩んだ果てに、サポートのひとに「なんでですかね?」と聞いたら、「マルチドメインの設定が優先されて、リダイレクトが効いてません 」と回答が。

そこかよ!!!(=ФωФ=)
そもそも私は、さくらのサーバーのドメイン設定の中の
【 wwwを付与せずマルチドメインとして使用する(上級者向け) 】、
この項目はリダイレクトするためのものだと勘違いしていました。
これはリダイレクトではなく、WWWありのURLを存在しないものにして、WWWなしのみを生かした状態にするものだったのです。

私がサイト運営を引き継いだ時からこの状態だったので、これはこれで間違ってないんだろうと思っていたのですが、まさかこんな所でつまずくとは。
すっかりサイト運営にも慣れたものと思って私は油断していたのかもしれない…油断せずに行こう(©手塚国光)。

というわけで、設定を直します。

さくらインターネットの サーバーコントロールパネル にアクセス。
ドメイン名(●●.comとか)とパスワードを入力してログインして、左メニューの下部にある【 ドメイン設定 】をクリック。
さくらサーバーコントロールパネル;ドメイン設定
設定を変更したい独自ドメインの【 変更 】をクリック。
さくらサーバーコントロールパネル;ドメイン選択
【 wwwを付与せずマルチドメインとして使用する(上級者向け) 】ではなく、
【 マルチドメインとして使用する(推奨) 】にチェックを入れて、一番下の【 送信 】をクリック。
さくらサーバーコントロールパネル;マルチドメイン設定
これで、WWWあり・WWWなし、どちらもURLにアクセスできる状態になるので、次にWWWなしに統合するため、301リダイレクトの設定を行います。

WWWありページを、WWWなしページに.htaccessファイルでリダイレクトする

【 http://www.●●.com 】に誰かがアクセスしようとしたら、そのページじゃなくて【 http://●●.com 】に連れてきてね!とお願いする、301リダイレクトの指令を.htaccessファイルに書き込み、保存してアップロードします。

.htaccessに記述する内容

 icon-lightbulb-o ポイント 
honyarara の部分を自サイトのドメインに変更してください
・com の部分も net や jp など、自サイトに合わせて変更してください

コード①
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.honyarara\.com
RewriteRule (.*) http://honyarara.com/$1 [R=301,L] </IfModule>

たぶんコレをそのままコピペしたらいけると思うのですが、エラーが起きる場合は更に下記のコードのどちらかを試してみてください。

コード②
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.honyarara\.com)(:80)? [NC] RewriteRule ^(.*) http://honyarara.com/$1 [R=301,L]
コード③
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.honyarara\.com$
RewriteRule ^(.*)$ http://honyarara.com/$1 [R=301,L]

.htaccess ファイルを保存してアップロード

記述が完了したらファイル保存し、FTPソフトでサーバーにアップロードします。
.htaccess ファイルは、拡張子を付けているとサーバー上で正常に動作しません。
そのため、テキストファイルを作成した時に付いている『 .txt 』などの拡張子を削除する必要があります。

それでは、FTPソフトでファイルをアップロードしてサーバー側で『 .htaccess 』に名前を変更しましょう。

例えばこちらは 『 2.htaccess 』 というファイルを 『 .htaccess 』 に名前変更しています。
htaccessファイルをサーバー側で名前変更
こうして .htaccessファイルがサーバー上にアップロードされると、そこに記述した指定(今回は301リダイレクト設定)が反映されるようになります。

アップロード後はすぐに自サイトの状態を確認しましょう。
トップページや他のページを確認して、もしも上手く動作せず、サイトにエラーが出ているようなら、一旦 .htaccess ファイルを削除して作り直してください。

リダイレクトされているかチェック

サイトにエラーが出ていないことを確認したら、次にリダイレクトが上手く動いて、wwwなしページに転送されるかをチェックします。

そのまま自分で【 http://www.●●.com 】にアクセスして表示を確認するか、リダイレクトチェックツールなどを使って確認してください。

タイトルとURLをコピーしました