====== リダイレクト(.htaccess) ======
ウェブサイトの移転やページのURL変更時に「.htaccess」にリダイレクト(転送)を記述することで旧サイト(ページ)から新サイト(ページ)に転送します。また検索エンジンの評価も引き継がれます。
===== よく使う301リダイレクト =====
==== ページ単位の転送 ====
「aaa.html」から「bbb.html」へ転送
RewriteEngine on
RewriteRule ^aaa.html$ https://www.example.com/bbb.html [L,R=301]
または
RewriteEngine On
Redirect permanent /aaa.html /bbb.html
\\
==== ディレクトリ単位の転送 ====
「/aaa/」から「/bbb/」へ転送
RewriteEngine on
RewriteRule ^aaa(.*)$ /bbb$1 [L,R=301]
または
RewriteEngine On
Redirect permanent /aaa/ /bbb/
\\
==== ドメイン単位の転送 ====
「https://www.aaa.com」から「https://www.bbb.com」へ転送
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com
RewriteRule ^(.*)https://www.bbb.com/$1 [R=301,L]
または
RewriteEngine On
Redirect permanent / https://www.bbb.com
\\
==== 複合 ====
「https://www.aaa.com/aaa/aaa.html」から「https://www.bbb.com/bbb/bbb.html」への転送
RewriteEngine On
RewriteRule / https://www.aaa.com/aaa/aaa.html https://www.bbb.com/bbb/bbb.html [R=301,L]
または
RewriteEngine On
Redirect permanent https://www.aaa.com/aaa/aaa.html https://www.bbb.com/bbb/bbb.html
\\
\\
----
==== URLの正規化 ====
「www.なし」を「www.あり」へ転送
RewriteEngine on
RewriteCond %{HTTP_HOST} ^aaa\.com
RewriteRule ^(.*)https://www.aaa.com/$1 [L,R=301]
「index.htmlあり」を「index.htmlなし」へ転送
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://aaa.com/$1 [L,R=301]
サブドメインからルートドメインへ転送
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub\.aaa\.com$
RewriteRule (.*)https://aaa.com/$1 [R=301,L]
\\
==== SSL化 ====
「http://www.aaa.com」から「https://www.aaa.com」へ転送
RewriteEngine on
RewriteCond %{HTTPS}off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
\\
==== エラーページへ転送 ====
エラーページ「error.html」へ転送
ErrorDocument 404 /error.html