apache2のhttpd.confの書き方を知りたい

OKWave 2007年11月16日 14時00分

  • このエントリーをはてなブックマークに追加
httpd.confへの書き方

.htaccessで以下のように書いています。


<FilesMatch "\.(html|htm)$">
SetEnvIf Accept-Language ja OKL
order deny,allow
deny from all
allow from env=OKL
</FilesMatch>

これをapache2のhttpd.confに書いたところ、SetEnvIf Accept-Language ja OKLの行をちゃんと認識してくれません。jaの部分をenとかにしてもアクセス出来てしまいます。この行をhttpd.confに書くにはどのように書けばいいのでしょうか。

良回答

どうも失礼いたしました。
Apacheアニュアルを見るとSetEnvIfディレクティブのコンテキスト(設定ファイル中のどこで有効なのか)は
サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccessとなっていますね。

つまり、サーバ設定ファイル(httpd.conf)でも有効であることが解ります。
次のようにしてはどうでしょうか

httpd.confで
SetEnvIf HTTP_ACCEPT_LANGUAGE "ja" OKL

のように定義しておいて、たとえば以下のように
<Directory>...</Directory>にてアクセス制御を記述する


<Directory "/ディレクトリのフルパス">
...
order deny,allow
deny from all
allow from env=OKL
</Directory>
  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?