Я хочу, чтобы ошибки "Файл не существовал" игнорировались или не регистрировались. - PullRequest
0 голосов
/ 19 ноября 2011

[Сб 19 ноября 13:17:04 2011] [ошибка] [клиент 1.1.1.32] Файл делает не существует: /var/www/vhosts/x.com/httpdocs/scores.asp

[Сб 19 ноября 13:17:54 2011] [ошибка] [клиент 1.1.1.32] Файл делает не существует: /var/www/vhosts/x.com/httpdocs/reqewrqwe.awwe

Решено спасибо

1 Ответ

5 голосов
/ 19 ноября 2011

Создайте RewriteRule и верните пустой файл в ответ на URL-адреса, которые вы хотите удалить из журналов:

RewriteRule scores\.asp$ - [L]

Если у вас нетлюбой шаблон для URL-адресов, и вы хотите запретить для всех несуществующих файлов, добавьте RewriteCond:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [L]

Или просто с более свежим apache:

FallbackResource /index.php

, а затем index.php с ответом о состоянии 404:

<?php
header("Status: 404 Not Found", 1, 404);

Файл index.php должен существовать, в противном случае (для RewriteRule) это создаст бесконечный цикл.

В качестве альтернативы это может сработать (и не требует файла index.php):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ - [R=404,L]

См .: Apache2: как избежать записи определенных отсутствующих файлов в error.log

...