ホームページを新サーバ(新ドメイン)に移転したら旧サーバの「.htaccess」を編集し301リダイレクトを設定しましょう

この記事は約5分で読めます。

htaccesskakikata200.jpg新しくホームページを作成しリニューアルする際に、新サーバに移転したり、新たに取得した独自ドメインにしたりすることがありますね。その際は旧サーバのほうで「.htaccess」の設定をしておきましょう。旧サーバの旧URLにアクセスがあった場合に404エラー(そのページがみつからないというエラー)の発生を防ぎ、新しいホームページにリダイレクトさせるためです。
そのためには旧サーバに「.htaccess」の設定が必要です。では、どのような設定をすればいいのでしょうか?
この「.htaccess」の設定についてざっくりと解説します。

301リダイレクトを設定

「.htaccess」の記述方法

旧サーバから新サーバに301リダイレクトをかける場合に、どのような動作をさせたいかによって記述内容が少し変わります。

ディレクトリ構造をそのままリダイレクト

単純なサーバ移転ならこのパターンが一番の候補です。旧サーバと新サーバのディレクトリ構造が同じならこのやり方でOKです。

例えば
https://old-dm2.com/001.html → https://dm2.co.jp/001.html
https://old-dm2.com/blog/soba/ → https://dm2.co.jp/blog/soba/
というように、ディレクトリ構造そのままでリダイレクトします。

ですから単純引っ越しや、バックアップのための移転ならこの方法が適しています。

ディレクトリ構造をそのままリダイレクトする「.htaccess」

# ディレクトリ構造をそのままリダイレクト
Redirect permanent / https://dm2.co.jp/

また、移転先のURLを特定のディレクトリにしたい場合は移転先URLにそのディレクトリ名も追加しておきます。
例えば、移転先を「/hp/」というディレクトリにした場合などはこのパターンです。

ディレクトリ構造をそのまま指定ディレクトリにリダイレクトする「.htaccess」

# ディレクトリ構造をそのまま指定ディレクトリにリダイレクト
Redirect permanent / https://dm2.co.jp/hp/

すべて指定URLの特定ディレクトリにリダイレクト

一方で、新サーバではディレクトリ構造をかなり変更しいて、そのままのリダイレクトでは404エラーが続出するという場合はちょっと考えなければいけません。もともとのアクセス数がそれほど多くなかったホームページなら、いっそすべてトップページにリダイレクトしたほうがいいでしょう。

例えば
https://old-dm2.com/001.html → https://dm2.co.jp/
https://old-dm2.com/blog/soba/ → https://dm2.co.jp/
というように、すべて指定のページ(この場合はトップページ)にリダイレクトされます。

すべて指定URLのトップページにリダイレクトする「.htaccess」

# すべて指定URLのトップページにリダイレクト
RedirectMatch 301 (.*) https://dm2.co.jp/

また、リダイレクトさせたいのがトップページではなく、特定のディレクトリの場合は、もう少し応用を検討しましょう。
例えば、旧サーバのリダイレクトを「/hp/」というディレクトリにしたい場合はなどはこのパターンです。

すべて指定URLの特定ディレクトリにリダイレクトする「.htaccess」

# すべて指定URLの特定ディレクトリにリダイレクト
RedirectMatch 301 (.*) https://dm2.co.jp/hp/

それぞれの状況に応じた「.htaccess」を作成しましょう。

「.htaccess」の最後の行には必ず改行を入れること

なお、「.htaccess」の最後の行には必ず改行が必要です。
改行は「プログラム的な設定はここで終わりです」ということを宣言していますので、改行を省略してしまうとうまく動作しません。
「なんだか空白行があって不自然だから削除した」などということをすると不具合が発生することがありますので、ご注意ください。

また、頭に「#」がついているのはコメント行です。プラグラム的には動作せず、人間がみて記述内容を理解しやすくするためのものです。
そこで、この「#」のコメント機能を利用して最後の改行を入れておく方法もあります。

▼「#」のコメント機能を使った記入例
すべて指定URLの特定ディレクトリにリダイレクトする「.htaccess」

# すべて指定URLの特定ディレクトリにリダイレクト
RedirectMatch 301 (.*) https://dm2.co.jp/hp/

#リダイレクト処理はここまで

このように「#」を使うことで最終行の抜けを防ぐ方法は便利で有効なのでおすすめです。

「.htaccess」の作り方

テキストエディタなどで編集して作成することもできますが、便利なツールやWEBサービスが多数ありますので、今回は「cman.jp」のサービスを使って作成しました。

cman.jp > よく使うhtaccess > 解説・自動作成 > リダイレクト_引越し
https://htaccess.cman.jp/explain/redirect.html

htaccesscmanjp.jpg

指定欄に希望するURLなどを記入するだけで「.htaccess」が作成できます。生成された「.htaccess」をテキストエディタでコピペしたり編集したりして「.htaccess」を保存し、旧サーバにFTPでアップロードしましょう。

動作確認を忘れずに行ってください。