url統一を.htaccessで行う

url統一を.htaccessで行うための覚え書きです。SEO対策の基本です。

/index.php , /index.html を /に統一

ディレクトリインデックス(DirectoryIndex)オプションで、 index.html , index.php など設定している場合、ディレクトリ指定でアクセスした場合と、インデックスファイルでアクセスした場合は同じ結果(出力)となりますが、SEO上はページ分散となりマイナス評価となりますので、どちらか(インデックスファイルかディレクトリ)にアクセスを寄らせる必要があります。ここでは、URLが短くなりユーザーフレンドリーなディレクトリに寄らせる方法を提示します。

RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index\.(htm|html|php)
RewriteRule ^(.*)index\.(htm|html|php)$ https://example\.jp/$1 [R=301,L]

wwwあり無しを www無しに統一

バーチャルホスト(VirtualHost)指定、又はServerAlias指定で、wwwあり、wwwなしどちらも同一Document Root にアクセスするようにしている場合、こちらもSEO上ページ分散となりマイナス評価となります。ここでは、ホスト名の短くなる www無しにアクセスが寄る方法を提示します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.jp$
RewriteRule ^(.*)$ https://example.jp%{REQUEST_URI} [R=301,L]

httpアクセスを httpsアクセスに統一

https が利用可能であれば、全アクセス https にすべきです。フォームだけhttps,それ以外 http といった分け方は今や無駄な手法です。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.jp%{REQUEST_URI} [R=301,L]

SSL/TLSアクセラセーターを使っている場合の httpsアクセス統一

AWS(Amazon Web Services)のELB(Elastic Load Balancing)など、SSL/TLSアクセラレーターを使っている場合は、上で示した方法ではリダイレクトループを引き起こします。この場合は以下の指定が良いでしょう。

RewriteEngine On
RewriteCond %{HTTPS:X-Forwarded-Proto} !https [NC]
RewriteRule ^(.*)$ https://example.jp%{REQUEST_URI} [R=301,L]


OUR MISSION

理念

「ITで人を豊かにする」

私たちが開発したシステムやサービスを通じ、物心両面から豊かになってもらう。そして人生を楽しんでもらう。そこに私たちが存在する理由があります。
日々新たな製品・サービスを開発・ご提供し、最後まで誠意をもって取り組んで成果を出す。
ご縁を頂いた方やその先の人達に安心と満足をご提供出来る様、誠心誠意取り組んで参ります。

CONTACT

お問い合わせはこちらから。

pageTop