.htaccess ファイルの RewriteRule 文法

.htaccessファイル内でのRewriteRuleの構文規則はURLを書き換えるものとして使用され、以下の形としています。

RewriteRule pattern target [flags]

パターンはマッチングする URL パターン,ターゲットは書き換え先のターゲット URL,フラグは書き換えルールの動作を指定するためのフラグ

パターンは、URL を照合するための、簡単な文字列または正規表現です。

targetは、単純なURLでも、変数が含まれるURLでも設定可能です。変数部分は、正規表現のキャプチャグループを使用して、patternと一致する部分を参照できます。

flags は書き換えルールの動作を指定する、オプションのパラメータです。よく使われる flags は次のとおりです。

  1. NC:大文字小文字を区別しない一致
  2. L:他のルールの解析は止める
  3. R:强制重定向,将URL改写为target指定的URL
  4. F:アクセス禁止。403 Forbidden エラーが発生しました。
  5. G:URLの「GET」パラメータ強制追加
  6. QSA:書き換え後のURLにクエリ文字列を保持します。

例えば、下記のルールは、”/page”で始まるすべてのURLを、実際のページ名を付加した”/index.php?page=”にリライトし、クエリ文字列はURLに保持します。

RewriteRule ^page/(.*)$ /index.php?page=$1 [QSA,L]

それによって「/page/about」にアクセスした際の実際のURLリクエストは「/index.php?page=about」になります。

bannerAds