====== リダイレクト(.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