Web制作メモ -トップへ-

[Apache] wwwのあり/なしを統一する

Apache2013.12.03 12:23

大抵のレンタルサーバはwwwありとwwwなしのどちらからでもアクセス出来るようになっています。

どちらからでもアクセスできるようにしておくと、検索エンジンからサイトが複数あるように見えSEOに不利と言われていますが、以前やったとき難しかったので当サイトではそのままにしていました。

先日、SNSのボタンを貼って実験していたところ、ツイッターとGoogle+でカウント数が違ってしまいます。どうやらURLによってカウント数を計算しているようで、wwwのありなしが原因のようです。フェイスブックは一緒でしたが、どこかでwwwありとなしを合算する設定があるのかもしれません。

ということがあり、当サイトもwwwのあり/なしを統一することにしました。どちらにするか迷いましたが、どちらでも特に変わりはないようですので、短いほう(なし)に統一することにしました。

ドキュメントルートの「.htaccess」ファイル(無い場合は新規作成)に設定します。これはWebサーバーApacheの設定ファイルです。

wwwありに統一する場合

RewriteEngine on
RewriteCond %{HTTP_HOST} ^○○○.com [NC]
RewriteRule ^(.*)$ http://www.○○○.com/$1 [R=301,L]

wwwなしに統一する場合

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.○○○.com
RewriteRule ^(.*)$ http://○○○.com/$1 [R=301,L]

備考

・RewriteEngine On:Rewriteを有効化
・RewriteCond:Rewriteする条件を指定
・RewriteRule:Rewriteするルールを設定
・NC:大文字と小文字を区別しないオプション
・R:リダイレクトするオプション
・301:恒久的にページが移転したことを意味
・^は先頭を示す
・$は最後を示す
・.は任意の一文字
・*は直前の文字の0回以上の繰り返し
・.*は全ての文字
・()で括るとその内容が変数$1として使用できる
・ドット(.)は正規表現でも使用されるのでバックスラッシュ(日本語環境では円マーク)を付けてエスケープ