Rewrite
目次
Rewrite制御
Rewriteマップ
Rewriteルール
Rewriteを有効にする
説明
LiteSpeedのURL書き換えエンジンを有効にするかどうかを指定します。 このオプションは、バーチャルホストまたはコンテキストレベルでカスタマイズでき、明示的に上書きされるまでディレクトリツリーに沿って継承されます。
構文
ラジオボックスから選択
.htaccessから自動読み込み
説明
そのディレクトリに最初にアクセスしたとき、rewritefileディレクティブを使用するHttpContextがそのディレクトリにまだ存在しない場合、 ディレクトリの.htaccessファイルに含まれるRewriteルールを自動的に読み込みます。初回読み込み後にその.htaccessファイルへさらに変更を反映するには、 グレースフルリスタートを実行する必要があります。
バーチャルホストレベルの設定はサーバーレベルの設定を上書きします。デフォルト値:
サーバーレベル:No
VHレベル:サーバーレベル設定を継承
構文
ラジオボックスから選択
ログレベル
説明
書き換えエンジンのデバッグ出力の詳細レベルを指定します。 この値の範囲は0-9です。0はロギングを無効にします。9は最も詳細なログを生成します。 このオプションを有効にするには、サーバーとバーチャルホストのエラーログログレベルを少なくともINFO以上に設定する必要があります。 これは、書き換えルールをテストする場合に便利です。
構文
整数
参照
名前
説明
バーチャルホストレベルのRewriteマップに一意の名前を指定します。 この名前は、Rewriteルール内のマッピング参照で使用されます。 この名前を参照するときは、次の構文のいずれかを使用する必要があります:
$\{MapName:LookupKey\}
$\{MapName:LookupKey|DefaultValue\} LiteSpeedのRewriteエンジン実装は、ApacheのRewriteエンジン仕様に従います。 Rewriteマップの詳細については、Apacheのmod_rewriteドキュメントを参照してください。
構文
文字列
ロケーション
説明
MapType:MapSource構文を使用して、Rewriteマップの場所を指定します。
LiteSpeedのRewriteエンジンは、次の3種類のRewriteマップをサポートしています:
- 標準プレーンテキスト
MapType: txt;
このファイルの各行には空白で区切られた2つの要素が含まれていなければなりません。 最初の要素はキーで、2番目の要素は値です。 コメントには先頭に「#」という記号を付けることができます。
MapSource: 有効なプレーンASCIIファイルへのファイルパス。 - ランダム化されたプレーンテキスト
MapType: rnd;
ファイル形式は標準プレーンテキストファイルと似ていますが、2番目の要素には"|"記号で区切られた 複数の選択肢を含めることができ、Rewriteエンジンによってランダムに選択されます。
MapSource: 有効なプレーンASCIIファイルのファイルパス。 - 内部関数
MapType: int;
4つの関数を利用できます:
MapSource: 内部文字列関数- toupper: 検索キーを大文字に変換します。
- tolower: 検索キーを小文字に変換します。
- escape: 検索キーにURLエンコードを実行します。
- unescape: 検索キーでURLデコードを実行します。
Apacheで利用可能な次のマップタイプはLiteSpeedでは実装されていません:
ハッシュファイルと外部書き換えプログラム。
構文
文字列
Rewriteルール
説明
バーチャルホストレベルのRewriteルールのリストを指定します。
ここにはドキュメントルートレベルのRewriteルールを追加しないでください。.htaccess由来のドキュメントルートレベルのRewriteルールがある場合は、代わりにURI「/」の静的コンテキストを作成し、そこにRewriteルールを追加してください。
Rewriteルールは1つのRewriteRuleディレクティブで構成され、任意で複数のRewriteCondディレクティブを前に置くことができます。
- 各ディレクティブは1行だけにしてください。
- RewriteCondとRewriteRuleはApacheのRewriteディレクティブ構文に従います。Apache設定ファイルからRewriteディレクティブをコピーして貼り付けるだけで使用できます。
- LiteSpeedとApache mod_rewriteの実装には小さな違いがあります:
- %\{LA-U:variable\}と%\{LA-F:variable\}はLiteSpeed Rewriteエンジンでは無視されます。
- LiteSpeed Rewriteエンジンには2つの新しいサーバー変数があります。%\{CURRENT_URI\}はRewriteエンジンによって処理されている現在のURIを表し、%\{SCRIPT_NAME\}は対応するCGI環境変数と同じ意味を持ちます。
- LiteSpeed Rewriteエンジンはループを避けるため、[L]フラグに遭遇するとRewriteルールの処理を停止します。一方、Apache mod_rewriteは現在の反復についてのみRewriteルールの処理を停止します。この動作はApache mod_rewriteの[END]フラグに似ています。
LiteSpeedのRewriteエンジン実装はApacheのRewriteエンジン仕様に従います。Rewriteルールの詳細については、Apacheのmod_rewriteドキュメントとApacheのURL Rewriteガイドを参照してください。
構文
文字列