
私はApacheのDebian 8を使用しています。私のは/etc/apache2/sites-available/000-default.conf
次のようなものです。
どの設定ファイルでApacheに何を要求すればよいでしょうか?/var/log/apache2/other_vhosts_access.log
からのトラフィックをログに記録しないようにするhttp://www.mysite2.orgまたはhttp://www.mysite3.org/subdir/?other_vhosts_access.log
残りはすべて通常どおり同じファイルに記録されます。
<VirtualHost *:80>
ServerName www.mysite1.org
DocumentRoot /home/www/mysite1
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.mysite2.org
DocumentRoot /home/www/mysite2
<Directory />
...
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.mysite3.org
DocumentRoot /home/www/mysite3
<Directory />
...
</Directory>
</VirtualHost>
+ 10 other virtual hosts
答え1
各仮想ホストにはエラーログと共通ログの定義が必要です。これらがない場合、デフォルトのログが使用されます。また、自分のドメイン (自分の DNS を自分の Web サイトに向ける人々) のトラフィック以外のすべてのトラフィックをキャッチするデフォルトの仮想ホストを作成することも重要です。これは重複コンテンツであるため、SERP に悪影響を与える可能性があります。
したがって、各 vhost では、
ErrorLog "logs/web1-error_log"
CustomLog "logs/web1-access_log" common
ErrorLog "logs/web2-error_log"
CustomLog "logs/web2-access_log" common
アップデート:
特定のディレクトリをログに記録しないという部分は見ませんでしたが、これは環境変数を設定することで実現できます。
答え2
回答してくれた@MikeJoneseyに感謝します。詳細を追加するには、次の解決策を入力します/etc/apache2/sites-available/000-default.conf
。
<VirtualHost *:80>
ServerName www.mysite3.org
DocumentRoot /home/www/mysite3
<Directory />
...
</Directory>
SetEnvIf Request_URI "^/subdir(.*)$" dontlog
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined env=!dontlog
</VirtualHost>