ApacheのRewriteRuleのルールパラメーターの説明

Apacheでは、URLを書き換えるための指示であるRewriteRuleが使われます。特定のルールに従って、あるURLを別のURLに変更することができます。RewriteRule指示にはいくつかのパラメータがあります。

  1. パターン:マッチさせるURLのパターン。それは単純な文字列でも正規表現でも構いません。*、?、+などの様々なパターンマッチング記号を使用できます。
  2. Substitution:置換するURL。相対パスでも、完全なURLでも構いません。 キャプチャグループ内のパターンを参照するために逆参照($1、$2など)を使用することもできます。
  3. フラグ:RewriteRuleの動作を指定するためのオプションフラグです。複数のフラグを使用し、カンマで区切ります。一般的なフラグには以下が含まれます:
  4. [L]:後続のRewriteRule命令の処理を停止します。
  5. [R]:URLをクライアントのブラウザに送信し、外部リダイレクトを実行します。
  6. [F]:403 Forbiddenのエラーが返されます。
  7. URLをリライトする際、クエリ文字列を保持します。
  8. NC: 大小文字を区別しないマッチング。
  9. URLをエンコードしない。
  10. 条件:RewriteRuleを実行する前に条件をチェックするために使用される式。複数の条件を使用し、[OR]や[AND]を使って条件を組み合わせることができます。

以下はRewriteRuleの構文の例です:

RewriteRule pattern substitution [flags]

Here is an example: 下記は例です。

RewriteRule ^products/([0-9]+)/?$ /product.php?id=$1 [L]

このルールは、/products/で始まり、1つまたは複数の数字が続くURLに一致し、それを/product.php?id=xxの形式に書き換えます。[L]フラグは、続くRewriteRule指示の処理を停止することを示します。

bannerAds