仕事で.htaccess見てたら
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
という記述がありました。
どういう意味なのか調べました。
環境変数に、HTTPヘッダーのAuthorizationを代入する
HTTPヘッダーのAuthorizationを環境変数に代入しています。 [E=foo:value]とすると環境変数fooに値valueを入れます。
ということらしいです。
HTTP Authorizationヘッダというのは、HTTP通信において
認証を行うための値を格納する場所です。
例の先生の回答
この .htaccess ファイルのセクションは、Apache モジュールである mod_fcgid がインストールされている場合に HTTP 基本認証を正常に機能させるための設定です。
RewriteCond %{HTTP:Authorization} . は、HTTP リクエストヘッダーに “Authorization” が含まれているかどうかを確認するための条件文です。
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] は、”Authorization” ヘッダーの内容を環境変数 HTTP_AUTHORIZATION に設定します。これは、PHP スクリプトがこの環境変数を使用して、HTTP 基本認証のユーザー名とパスワードを取得することができるようにするためです。- は、ルールの実行後にリクエストを変更しないことを意味します。
簡単に言えば、このセクションは、mod_fcgid を使用して PHP スクリプトを実行する場合に、HTTP 基本認証を機能させるために必要な設定を行うものです。
かんぺきでござるな。
コメント