スポンサードリンク

【mod_rewrite】 RewriteEngineとは?

ここではApacheのモジュール mod_rewriteのディレクティブの一つ「RewriteEngine」について説明しています。

スポンサードリンク

「RewriteEngine on」とは?

「RewriteEngine」とは、Apacheのモジュールであるmod_rewriteを利用するときに使う宣言文です。

複数のURL書き換え処理を指定する場合でも「RewriteEngine on」とひとつだけ書いておけばよいです(その都度書いてもOK)。

「httpd.conf」もしくは「.htaccess」で利用します。

書式

RewriteEngine on
RewriteEngine off

「RewriteEngine on」はmod_rewrite(URL書き換えエンジン)を有効にし、「RewriteEngine off」では無効にします。

コメントアウトしたいRewriteRuleが複数ある場合などは、ひとつひとつコメントアウトせず、 「RewriteEngine off」を使えばよいです。

使用例

環境

使用例の前に、環境を定義します。

  • ルートディレクトリ
    /var/www/html/○○○/
  • そこに「redirect.html」を作成
    /var/www/html/○○○/redirect.html

「http://○○○.com/redirect.html」でアクセスがあった場合、「/var/www/html/○○○/redirect.html」が出力されます。

RewriteEngineの使い方

以下を「.htaccess」に記述してルートディレクトリに設置すると、「http://○○○.com/redirect.html」にアクセスがあった場合、ファイル「redirect.html」を出力せずにYahooのトップページにリダイレクトさせます。

RewriteEngine on
RewriteRule ^redirect\.html$ http://www.yahoo.co.jp/ [R=301,L]

このように「RewriteEngine on」と記述することでmod_rewrite(書き換えエンジン)を有効にできます。

Tips

「^redirect\.html$」の「^」「\」「$」は正規表現です。

「[R=301,L]」の「R=301」と「L」はフラグといいます。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント