・URLを正規化するコードをコピペで使いたいな!
・.htaccessでURLを正規化するには、どうすればいいの?
と疑問をお持ちの方のお悩みを解決できる記事になっています!
SEO内部対策でも、重要な部分です。
【この記事の信頼性】
当ブログ(RENBLOG)の編集長である僕は、これまでホームページ制作に約40サイト以上、携わらせて頂いております。
<目次>
.htaccessでURLを正規化するためのコード【コピペOK!】
index.html(htm/php)なし、wwwあり、http→httpsに統一
<IfModule mod_rewrite.c>
RewriteEngine On
# index.html(htm/php)なし
RewriteCond %{THE_REQUEST} ^.*/index.(html|htm|php)
RewriteRule ^(.*)index.(html|htm|php)$ https://%{HTTP_HOST}/$1
[R=301,L]
# wwwありに統一
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^ https://www.%{HTTP_HOST}/$1 [R=301,L]
# http→httpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
index.html(htm/php)なし、wwwなし、http→httpsに統一
<IfModule mod_rewrite.c>
RewriteEngine On
# index.html(htm/php)なし
RewriteCond %{THE_REQUEST} ^.*/index.(html|htm|php)
RewriteRule ^(.*)index.(html|htm|php)$ https://%{HTTP_HOST}/$1
[R=301,L]
# wwwなしに統一
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
# http→httpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
基本的には、『wwwなし』の方が、URLもスッキリして良いかと思います。
URLが正規化されているか、チェックする簡単な方法
URLが正規化されているか?を確認するためには、ブラウザのアドレスバーに、直接入力してみましょう!
index.html(htm/php)なし
例 : 『https://renkosaka.com/index.html』と打つと、『https://renkosaka.com/』にリダイレクトされる。
wwwなしに統一・wwwに統一
例 : wwwなしに統一の場合
『https://www.renkosaka.com/』と打つと、『https://renkosaka.com/』にリダイレクトされる。
例 : wwwありに統一の場合
『https://www.renkosaka.com/』と打つと、『https://www.renkosaka.com/』とリダイレクトされずに、表示される
http→httpsに統一
例 : 『http://renkosaka.com/index.html』と打つと、『https://renkosaka.com/』にリダイレクトされる。
http→httpsに統一できていない場合、警告の文字が表示されます。