ApacheのhtaccessファイルにおけるRewriteCondのルールは何ですか?

.htaccessファイル内のRewriteCondルールは、リライトルールの条件を定義するために使用されます。条件を使って、リライトルールの適用範囲を制限することができます。

RewriteCondの構文は以下の通りです:

RewriteCond TestString CondPattern [flags]
  1. TestString:テストする文字列は、通常、リクエストのURLから取得されます。TestStringは変数、パターンマッチング、その他の条件を使用して定義できます。
  2. CondPatternは条件にマッチするためのパターンです。これは正規表現や文字列などのものを使用できます。
  3. フラッグ(任意):ルールの動作を調整するため、例えばNC(大文字と小文字を区別しない)、L(それ以降のルールの処理を停止する)などのフラッグを追加することができます。

以下是一些常见的使用例:

  1. HTTPリクエストヘッダーとの条件を一致させる。
RewriteCond %{HTTP_USER_AGENT} GoogBot [NC]

ユーザーエージェント文字列に”GoogBot”が含まれている場合に一致します。

  1. URLにリクエストする際の使用条件は一致している必要があります。
RewriteCond %{REQUEST_URI} ^/admin

この条件は、URLが”/admin”で始まる場合に一致します。

  1. 要求的ホスト名と一致する条件を使用します。
RewriteCond %{HTTP_HOST} ^example\.com$

この条件は、要求されたホスト名が”example.com”の場合にマッチします。

  1. リクエストされたクエリ文字列と一致する使用条件。
RewriteCond %{QUERY_STRING} ^id=123$

このパターンは、要求されたクエリ文字列に”id=123″が含まれている場合に一致します。

RewriteCondの規則は、後続のRewriteRuleと一致する場合にのみ有効になります。後続のRewriteRuleがない場合、RewriteCondの規則は作動しません。

bannerAds