URL正規化をする.htaccessの記述の仕方
公開日:2014年2月26日
最終更新日:2014年4月30日
URLを指定する際、'www'の有り/無しや、index.htmlを付けるか付けないかで、SEO上問題になることがあります。記述方法が複数存在すると、同じページを示していても検索エンジンでは違うページとして解釈されてしまうからです。ここではApacheウェブサーバーのアクセス制御に用いられる「.htaccess」ファイルでこの問題を解決する方法を解説します。
レンタルサーバーによっては、.htaccessを設置することに制限を設けていることもありますので、よく確認してください。
この記事では、XSERVERとロリポップで確認をしています。
www有り/無しを統一する記述
www有りに統一する場合
以下のように、.htaccessに記述します。
ドメイン名は自分のものに合わせてください。
1 2 3 4 |
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] |
www無しに統一する場合
以下のように、.htaccessに記述します。
1 2 3 4 |
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] |
index.html有り/無しを統一する記述
index.html無しに統一する場合は、以下を上記コードの下に追加します。
1 2 |
RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L] |
XSERVERとロリポップでの確認
XSERVERでは、上記の記述で正常に動作することを確認しました。
ロリポップの場合は、一番上のコードが使えませんので、以下のコードに置き換えます。
1 |
Options +SymLinksIfOwnerMatch |
スポンサーリンク