サーチ…


構文

  • RewriteBase URLパス
  • RewriteCond TestString CondPattern
  • RewriteEngine on | off
  • RewriteMap MapName MapType:MapSource
  • RewriteOptionsオプション
  • RewriteRuleパターンの置換[フラグ]

Apache 2.4で利用できるディレクティブのリスト

Apache 2.4では、 mod_rewriteモジュールを使用して次の6つのディレクティブを提供しています。

  1. RewriteBase
  2. 書き換えコンド
  3. 書き換えエンジン
  4. 書き換えマップ
  5. RewriteOptions
  6. RewriteRule

これまでApache 2.2で利用可能だった以下のディレクティブは削除されました。

  1. 書き換えロック
  2. 書き換えログ
  3. RewriteLogLevel

mod_rewrite定義されたすべてのディレクティブ( RewriteMap除く)は、 AllowOverride FileInfoを使用してディレクトリごとの.htaccessをオーバーライドできます。

指令コンテキスト説明
RewriteBase ディレクトリ、.htaccess ディレクトリ書き換えごとのベースURLを設定する
書き換えコンドどこにでも書き換えアクションが発生する条件を定義します。
書き換えエンジンどこにでも書き換えエンジンの状態を設定する
書き換えマップサーバー設定、仮想ホストキー参照機能を定義する
RewriteOptions どこにでも書き換えエンジンの特別なオプションを設定する
RewriteRule どこにでも書き換えエンジンの特定のルールを定義する

コンテキストEverwhereは、以下の4つの場所のいずれかでディレクティブを定義できることを意味します。

  1. サーバー設定
  2. 仮想ホスト設定
  3. ディレクトリコンテキスト
  4. .htaccessファイル

RewriteLogおよびRewriteLogLevelディレクティブは、グローバルLogLevelディレクティブとマージされ、次のように使用されます。

LogLevel rewrite:<level>

ここで、 <level>trace8 (最下位)からemerg (最上位)までの値です。このリストは、 こちらから入手できます

RewriteBaseとRewriteEngine

指令デフォルトコンテキスト説明
RewriteBase 無しディレクトリ、.htaccess ディレクトリ書き換えごとのベースURLを設定する
書き換えエンジンオフどこにでも実行時書き換えエンジンを有効または無効にする

RewriteBase

このディレクティブは、相対パスを置換するために使用されるURLプレフィックスを指定します。

RewriteEngine

このディレクティブは、 offに設定するoff 、実行時書き換え処理を実行しません。これらのルールは(サーバ設定からの)仮想ホストに継承されず、個別に定義する必要があります。

書き換えマップ

このディレクティブは、定義されたマップ内のキーをルックアップし、そのルックアップをマップからの置換で置き換える関数を定義します。

マッピング関数は、 RewriteMapディレクティブ自体で次のように定義されます。

RewriteMap MAPNAME Type:Source

RewriteCondまたはRewriteRuleディレクティブのいずれかで参照され、次のように置換ガイドとして機能します。

${ MAPNAME : KEY | DEFAULT }

次は、マップ定義のType有効な値です。

  1. int - touppertolowerescapeunescapeのみを許可する
  2. txt - テキストファイルを検索する
  3. dbd - SQL SELECT文を使用してデータベースを検索する
  4. rnd - テキストファイルからのランダムな検索
  5. dbm - httxt2dbmがデータをハッシュに変換する必要があることを除いて、 txtに似ています
  6. fastdbd - キャッシュを持つSQL SELECT文を使用してデータベースを検索する


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow