◆同サーバー内でのリダイレクト
1.特定ページへのリダイレクト
▼https://example.com/page.htmlからhttps://example.com/new-page.htmlへ転送
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^page\.html$ https://example.com/new-page.html[R=301,L]
</IfModule>
※.htaccessファイルを「examle.com」ドメインのトップディレクトリに設置した場合の記述例
※記述の最後は空白行を設ける。以降のサンプルでも同様。
2.ディレクトリ単位でのリダイレクト(同一ドメイン内)
▼「old」ディレクトリから「new」ディレクトリへ転送
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^old/(.*)$ /new/$1 [R=301,L]
</IfModule>
RewriteRule ^aaa/ http://example.com/#info [R=301,L,NE]
◆日本語URLからのリダイレクト
「URLエンコーディング」は文字を「%」と16進数2桁の文字コードで作られているので、Apacheが認識できる「16進数」にすることで対応する。
RewriteRule ^\xE3\x81\x8A\xE7\x9F\xA5\xE3\x82\x89\xE3\x81\x9B/ http://example.com/ [R=301,L]
◆アンカー付きURLへのリダイレクト
フラグにNEを付ける。
RewriteRule ^aaa/ http://example.com/#info [R=301,L,NE]