URLの書き換え

.htaccessを使用したURLの書き換え方法をご説明します。

URLの書き換え

例えば「http://www.hogemoge.com」のように「www有りのURL」と、「http://hogemoge.com」のように「www無しのURL」で同じコンテンツが表示される場合、URLを「www有り」または「www無し」のどちらかに統一(正規化)できます。
URLを統一すると、ほかのサイトからリンクしてもらう際のURLや検索エンジンに登録される際のURLを「www有り」と「www無し」で分散することを回避できます。
wwwの有無で同じコンテンツが表示されている場合、検索エンジンによってはそれぞれを別のサイトとみなすことがあり、検索エンジンからは「重複するコンテンツ」と認識されることもあります。
.htaccessを使用すると、どちらかに統一することができます。
また、「http://www.hogemoge.com」と「http://www.hogemoge.com/index.html」など、「index.htmlの有無」でURLが分散する場合も、書き換えにより「URLを統一(正規化)」できます。

設置方法

.htaccessファイルの作成
ここでは、サイトのURLを「http://hogemoge.com」として、 http://www.hogemoge.com(www有り)、http://hogemoge.com(www無し)のURLを統一する方法をご説明します。
また、サイト内のすべてのディレクトリにおいて「/index.html」(index.html有り)でのアクセスを「/」(index.html無し)に統一する方法もご説明します。
まず、適当なファイル名(htaccess.txtなど)で、以下の内容のファイルを作成します。
www無しのURLに統一
  • RewriteEngine On
  • # www無しのURLに統一
  • RewriteCond %{HTTP_HOST} ^www\.hogemoge\.com
  • RewriteRule ^(.*) http://hogemoge.com/$1 [R=301,L]

「hogemoge.com」の部分は、お客様のアドレスにあわせてください。

www有りのURLに統一
  • RewriteEngine On
  • # www有りのURLに統一
  • RewriteCond %{HTTP_HOST} ^hogemoge\.com
  • RewriteRule ^(.*) http://www.hogemoge.com/$1 [R=301,L]

「hogemoge.com」の部分は、お客様のアドレスにあわせてください。

index.html無しのURLに統一
  • RewriteEngine On
  • # index.html無しのURLに統一
  • RewriteCond %{THE_REQUEST} ^.*/index.html
  • RewriteRule ^(.*)index.html$ http://hogemoge.com/$1 [R=301,L]

「hogemoge.com」の部分は、お客様のアドレスにあわせてください。

ファイルのアップロード
作成したhtaccess.txtを、FTPのトップディレクトリにアップロードします。 アップロード後、ファイル名を「.htaccess」に変更します。
パーミッション(属性)の変更
.htaccessのパーミッション(属性)を「604」に変更します。
動作確認
動作確認をしてください。正しく動作しない場合は、以下の点を確認してください。
改行は入っていますか?
.htaccessファイルの最後の行の末端に改行は入っていますか? 改行が入ってない場合エラーになります。
パスは正しく記入されていますか?
.htaccessファイルで指定したパスは正しく記入されていますか? もう一度ご確認ください。
パーミッションは「604」になっていますか?
.htaccessファイルのパーミッションは「604」になっていますか? 変更されていない場合正常に動作しないことがあります。
ファイルの記述に誤りはありませんか?
.htaccessファイルの記述に間違いがあると、そのディレクトリ以下にアクセスした時に必ず「500 Internal Error」が表示されます。.htaccessファイルの記述をもう一度確認してください。

URLを変更した際の転送について
重複コンテンツの回避以外などでもサイトのURLを変更した場合は、「301リダイレクト」で移転先のページに転送することが推奨されています。

.htaccess利用法のトップへ


マニュアルのトップへ