
URLでwwwが付いていても、いなくても
同じページに行きますが、
SEOだと重複ページになってしまうので
CakePHPでwwwの統一をします。
以前、wwwありのみ調べましたが、
今回はwwwあり、なし両方調べました。
webrootの.htaccessを変更
/app/webroot/.htaccess
wwwあり
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
wwwなし
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
「www」はあってもなくてもどちらでもいいみたいですが、
僕はありで設定してます。
(参考)
301リダイレクトを使った「WWWあり」と「WWWなし」の統一
cakephp www統一 (htaccess編)
