htaccessを利用して、旧サイトへアクセスした訪問者を自動で新サイトにジャンプさせる仕組みがリダイレクト。
新しいWEBサイトを立ち上げた時の大事な作業です。
タグページに飛ばすこともできます。
.htaccessはApacheでのみ動作します。
この記事ではリダイレクトのみをご紹介しています。
「旧サイト → 新サイト」に飛ばす
リダイレクトのイメージがいまいち判りにくい。
どういう風になるのかと言うと・・・
旧サイトはここ https://nora66.com/
新サイトはここ https://yokaton.com/
実際に旧サイトへアクセスしてURLを見てください。自動で新サイトへ飛ばされてることが分かります。
旧サイトは2003年に開設したもので、被リンクが多いので見に来る人も多い。
見に来た人を今回開設した「よかとん畑」に自動で来てもらう仕組みです。
① https://nora66.com/ ← 旧サイトの空のTOPページへ行きます(飛ばされない)
② https://nora66.com/nora/ ← よかとん畑のTOPページに行きます
③ https://nora66.com/nora/_taranoki.html ← よかとん畑の「タラノキ栽培」ページに行きます
④ https://nora66.com/avr/ ← よかとん畑のマイコンページに行きます
⑤ https://nora66.com/grand.html ← よかとん畑の雑草対策ページに行きます
①はリダイレクト無し
②は旧サイトの野良仕事ページに来た人を新サイトのTOPに飛ばす
(旧)野良仕事 → (新)TOP
③は旧サイトのタラの芽ページに来た人を新サイトのタラの芽に飛ばす
(旧)タラの芽 → (新)タラの芽
④は旧サイトのマイコンページに来た人を新サイトのマイコンページに飛ばす
(旧)マイコン → (新)マイコン
⑤は旧サイトの雑草対策ページに来た人を新サイトの雑草対策ページに飛ばす
(旧)雑草対策 → (新)雑草対策のタグへ
リダイレクトのコーディング
以下のようなファイルを ”.htaccess” と言う名前でサーバにアップするだけです。
ただし何点か注意点があります。
・日本語を使わない
・文字コードはBOM無しのUTF-8
・改行コードはLF
・最後の行は空白にする
この記事では、.htaccessファイルを「/public_html/nora66.com/」内に設置しています。
#から始まる行はコメントです。
#このファイルは /public_html/nora66.com/ に設置している
RewriteEngine On
#/public_html/nora66.com/grand.htmlをリダイレクト
RewriteRule ^grand.html$ https://yokaton.com/tag/https-yokaton-com-zasso/ [R=302,L]
#/public_html/nora66.com/nora/_taranoki.htmlをリダイレクト
RewriteRule ^nora/_taranoki.html$ https://yokaton.com/haru-202211-tara [R=302,L]
#/public_html/nora66.com/avr/内の全てをリダイレクト
RewriteRule ^avr/(.*)$ https://yokaton.com/category/etc/mcu/ [R=302,L]
#/public_html/nora66.com/mbed/内の全てをリダイレクト
RewriteRule ^mbed/(.*)$ https://yokaton.com/category/etc/mcu/ [R=302,L]
#上記に当てはまらないのを全部リダイレクト
RewriteRule ^nora/(.*)$ https://yokaton.com/ [R=302,L]
正規表現が分かり難いですが ・・・
・カレント・ディレクトリのHTMLファイル
・ディレクトリ内の全ファイルのリダイレクト
をしています。
例えば最下行の”RewriteRule ^nora/(.*)$ https://yokaton.com/ [R=302,L]”の場合。
行の先頭が”nora”から始まるURLを”https://yokaton.com/”へ飛ばしています。
最後の” [R=302,L]”は、一時的なリダイレクトであることを意味しています(永続的にリダイレクトするなら”R=301”とします)。
[R=302,L]について
「長期間の302リダイレクトは、インデックスされるまでに時間がかかる」と言われてます。
リダイレクトの動作確認が終わったら、301に変更しておくのが無難です。
有効範囲
.htaccessの有効範囲は、このファイルが設置されたディレクトリ及び下層のディレクトリです。
逆に言えば、上層のディレクトリには適用されません。
他にできること
.htaccessはApacheでのみ動作します。
.htaccessファイルではリダイレクトの設定以外に以下のことができます。
- BASIC認証の設定
ユーザー名・パスワードを伝えていないユーザーからのアクセスを制限 - IPアドレスの制限
特定のIPアドレスからのアクセスを制限 - 404エラーページの作成
サイトが独自に作成した404エラーページを表示
コメント