1

ディレクトリアクセスに基づいてウェブサイトのログを記録しようとしているので、この回答(またはこの回答も) の詳細を求めています: 提案された回答はどのファイルに配置されますか?

私は/etc/apache2/apache2.conf(実際には経由でInclude my-logging.conf)以下を入れました:

SetEnvIf Request_URI "^/download/.+$" download_access
CustomLog /home/jamie/apache-logs/download.log common env=download_access

ディレクトリ/home/jamie/apache-logs/とその中のファイルは誰でも書き込み可能ですが、ブラウザ ( http://download/index.html) を介してリソースにアクセスすると、メインのアクセス ログ ( /var/log/access.log) は更新されますが、期待していたログは更新されず、/home/jamie/apache-logs/download.logそのまま残ります。

mod_setenvifすでに有効になっているとかなり確信しています:

$ sudo a2enmod setenvif
Module setenvif already enabled

どうすればこれを機能させることができますか?

4

2 に答える 2

1

編集:

いいえ、それは正規表現でした。ヘッドスラップは正しい。


別のCustomLog 定義を持つ場所が/etc/apache2/apache2.conf、含まれている他のサイト ファイル (おそらく/etc/apache2/sites-enabled/foo.confまたは/etc/apache2/conf/foo.conf何か... 私は別のディストリビューションを使用しています)内にあるかどうかを確認しましたか?

あなたの発言を覆す何かがある可能性が高いです。CustomLogディレクティブを配置するのに最適な場所<VirtualHost>は、サイトを定義するスタンザです。そうすれば、ディレクティブの優先順位が最も高くなり、サーバー全体の設定が上書きされます。私が考えているのは、定義がサーバーのデフォルトを設定しているが、より具体的な customlog ステートメントが VirtualHost 内にあり、それをオーバーライドしていることです。

于 2013-04-23T14:58:02.670 に答える