URLの「www」の有無を統一してドメインを正規化する方法

Ads by Google

ウェブサイトを公開したとき、多くの場合ドメインはデフォルトで以下のように、wwwのアリ・ナシ、どちらでもアクセスできてしまいます。

  • http://example.com
  • http://www.example.com

一部のサーバーではwwwの有無を自動で正規化して統一してくれる場合もありますが、稀なケースなので、通常はあらかじめ正しく設定しておくのがベターです。

ドメインを統一する方法

具体的には「.htaccess」を使うことになります。

「www」アリに統一
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
「www」ナシに統一
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

なおオンズでは「短いほうがシンプルで素敵♡」という理由から「wwwナシ」をオススメしています。

このあたり、どちらにするかは完全に好みの問題です。

ついでに「index.html(index.php)」の有無も統一しましょう

ついでなのでドメインの統一以外にもファイル名「index.html(index.php)」の有無も統一しておきましょう。

  • http://example.com
  • http://example.com/
  • http://example.com/index.html(index.php)

上記URLをスラッシュ無しの「http://example.com」で統一します。

RewriteEngine on
RewriteRule ^(.*)/+$ $1 [R=301,L]

簡単ですね。

スラッシュ有りの「http://example.com/」で統一したい場合は次のように記述します。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}$1 [R=301,L]

こちらも、簡単でしたね。

オンズのウェブサイトではもちろん、こちらも先ほどの「www」有り無しのときと同じく、「より短いほうがいい」という理由で「スラッシュ無し」にしています。

別々のURLで同じコンテンツにアクセスできてしまうと、検索エンジンから「重複コンテンツ」と認識されてしまう恐れもあります。
もしURLを統一していない場合は、この機会に早急に対応してみてはいかがでしょうか。

こちらの記事もいかがですか?

アナタにオススメ!
同じカテゴリーの他の記事です。

Ads by Google