.htaccessにてリダイレクトをさせる方法

こんにちは、システム企画GのTです。
大分気温が冷え込んできましたね・・・。あっという間に秋が過ぎ去ってしまいました。 今日は社内で何度もくしゃみを繰り返し、鼻をぐずぐずさせています。 さて、最近.htaccessを使ってリダイレクト処理を行う方法を学んだため、皆様と共有したいと思います。

  1. .htaccessとは?
  2. リダイレクトさせる方法
  3. 結果

.htaccessとは?

そもそも自分は.htaccessとは何ぞや・・・という所からだったのですが、調べてみるApacheのとても便利な機能でした。 .htaccessとは、そのファイルが置かれているディレクトリ以下に適用されるApacheの設定ファイルです。 なので、プロジェクト等の一部だけに設定の変更・追加・削除等が可能になるということですね。 ただ、複数作成できる&サブディレクトリにある.htaccessの設定が優先されるというところから、乱用は危険な気がしますね。 そこかしこに設定ファイルを作成して管理できないとなってしまったら大変なことになりそうです。 今回は、リダイレクトさせる対象がレンタルサーバーであること、同一プロジェクトではなく別のWebサーバーへのリダイレクトだったため、 .htaccessでのリダイレクトを使用しています。

リダイレクトさせる方法

では本題です。 今回行ったケースはドキュメントルートからリダイレクトさせるだけなので方法は簡単です。 まずは webサーバのドキュメントルートに、.httaccessという名前のファイルを作成してください。 中身はまっさらな状態で大丈夫です。 作成したら中身を記載していきます。

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule .* https://example.com/$1 [R=301,L]
    </IfModule>

上記のように記載してください 最初から.htaccessがあるよって方は「RewriteEngine On」のすぐ下に「RewriteRule .* https://example.com/$1 [R=301,L]」を記載してください では解説を行いたいと思います

    <IfModule mod_rewrite.c>
    </IfModule>

mod_rewrite機能が使用できるかの確認を行っています。 このカッコ内でなければコードが有効とされません。 もし、内で記載しているのにリダイレクトされない場合は、アパッチの設定から mod_rewrite機能が使用できる設定になっているか確認を行ってください。

    RewriteEngine On

「RewriteEngine On」はmod_rewriteを使用するときのコードです。On/Offで有効/無効にすることができます。

    RewriteRule .* https://example.com/$1 [R=301,L]

実際のリダイレクトの処理です。 「RewriteRule .* https://example.com/$1」でリダイレクト先を、 [R=301]はリダイレクトの種類を指定し、Lはここまでで処理を終了という意味なります

結果

表示されました! リダイレクトさせる処理は以上となります。ありがとうございました。

料金表ナビゲーション 料金表ナビゲーション

おすすめ記事