.ページ単位のリダイレクト
「old.html」にアクセスがあった際に「http://www.example.com/new.html
」へ301リダイレクトさせる記述です。
RewriteEngine on
RewriteRule ^old.html$ http://www.example.com/new.html [L,R=301]
Lは「この処理はここで終わり(LAST)」の意味で、R=301は「301リダイレクトをしなさい」という指定になります。
ちなみに、Rだけだと302リダイレクトになるので、301リダイレクトを行いたい場合は必ずR=301の指定をするようにしてください。
2-2.ディレクトリ単位のリダイレクト サンエツ↓
「old」ディレクトリにアクセスがあった際、「new」ディレクトリに転送をかけたい場合の記述です。
ディレクトリ以下にファイルがある場合は、newでもファイルを置いておかないと404エラーになってしまいます。
RewriteEngine on
RewriteRule ^old(.*)$ /new$1 [L,R=301]
2-3.http→https のリダイレクト
HTTPアクセスされたページをSSLでリダイレクトをする方法です。SSLを使いたいディレクトリに以下を記述したファイルを入りします。
GoogleがSSL化を推奨していることもあり、SSL対応を行う人も増えていますが、この場合もHTTPでのアクセスをHTTPSにリダイレクトしたほうが良いです。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
https://www.itti.jp/web-design/htaccess-redirect/
URLが大幅に変わる
ドメイン、ディレクトリ、ページ全てが変わる場合は下記になります。
.htaccess
RewriteEngine on
RewriteRule https://www.old.com/old/old.html https://www.new.com/new/new.html [R=301,L]
//下記の方法でも可能
RewirteEngine on
Redirect permanent https://www.old.com/old/old.html https://www.new.com/new/new.html
https://sem-journal.com/seo/how-to-redirect/
ジェネレーター
https://htaccess.cman.jp/explain/redirect.html