.htaccessリダイレクト設定ードメイン引っ越し・wwwありなし他
サイトのお引越でサイトのアドレスが変わった、リニューアルで記事(ページ)URLが変更になった、SSL通信へ変更しhttpからhttpsへ変更、などの際に .htaccessによるリダイレクト設定の書き方です。
別ドメインへ引っ越し、ドメイン単位でリダイレクト
「https://www.▲▲▲.com/」から「https://www.■■■.com」に転送
RewriteEngine On
RewriteCond %{http_host} ^www.▲▲▲.com
RewriteRule ^(.*) https://www.■■■.com/$1 [R=301,L]
wwwのありなしを統一する
wwwありに統一する
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
wwwなしに統一する
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
</IfModule>
HTMLをWordPress化した際、URLから.htmlを消す
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)\.html$ /$1[R=301,L]
</IfModule>
httpからhttpsへのリダイレクト(SSL化)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
ページ単位でのリダイレクト
「▲▲▲.html」から「■■■.html」に転送する
RewriteEngine on
RewriteRule ^▲▲▲.html$ https://www.〇〇.com/■■■.html [L,R=301]
ディレクトリ単位でリダイレクトしたい
「/▲▲▲/」から「/■■■/」に転送する
RewriteEngine on
RewriteRule ^▲▲▲(.*)$ /■■■$1 [L,R=301]
404エラーページの転送
ErrorDocument 404 /404.html
.htaccessでのリダイレクト処理は、mod_rewriteモジュールを使用なので、リダイレクトに関する処理は、mod_rewriteが有効の場合のみに実行されるよう、リスク回避が必要です。
IfModule ~ でモジュールが有効かの処理を分岐可能に
<IfModule mod_rewrite.c>
#mod_rewriteが有効な場合だけ、実行する処理をここに記述
</IfModule>
RewriteEngine on
mod_rewriteモジュール起動の宣言式
RewriteCond {条件}
どのような際にリダイレクト処理するかどうかの、条件を指定
RewriteRule {パターン} {置換内容} [R, L]
どう書き換えるのかを指定でき、{パターン}に一致した部分を{置換内容}に書き換え。
[R={リダイレクト方式}]と、どの方式でリダイレクトさせるかも指定可能です。
[ ]の中に L をつけ、URL書き換え処理を終了。
.htaccessの書き換え時には、必ずバックアップを取って行ってくださいね!