Создайте 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