ショウジンブログ

Learn as if you will live forever, Live as if you will die tomorrow.

wwwの有り無し、index.htmlとindex.phpを統一@URLの正規化

Sponsored Links

f:id:showjinx:20160427133028j:plain

*2016年11月22日追記 さくらインターネットでは「Options +FollowSymLinks」を使うとエラーになります。(プランによるかもしれませんが)さくらインターネット(の共用サーバ)での設定は最後に追記しています。

Apacheにおける.htaccessを使って、たとえば

http://showzine.co/
http://showzine.co/index.html
http://showzine.co/index.php

これら三種類のURLを「/」止に統一する。

SEOを考慮した場合のコンテンツの共喰いを防ぐ(重複を防ぐ)ためにも

/
/index.html
/index.php

どれでブラウザアクセスされた場合も

/

にリダイレクトされるようにする。(URLの統一=正規化)

.htaccess

RewriteEngine on
Options +FollowSymLinks

# index.html, index.phpは/にリダイレクト
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

これにwwwのありなしの統一も加えると

.htaccess

RewriteEngine on
Options +FollowSymLinks

# wwwなしで統一
RewriteCond %{HTTP_HOST} ^www\.mysite\.com
RewriteRule (.*) http://mysite.com/$1 [R=301,L]

# index.htmlはなしで統一
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

wwwありで統一する場合は

.htaccess

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

さくらインターネットの場合

# wwwありで統一
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com
RewriteRule ^(.*)$ http://www.mysite.com$1 [R=301,L]

# index.htmlはなしで統一
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

?それ?は在る―ある御方と探求者の対話 (覚醒ブックス)

?それ?は在る―ある御方と探求者の対話 (覚醒ブックス)