Ваше правило гласит:
переписать все в index.php, когда:
URL-адрес не является файлом и не является каталогом и не находится в /assets/
или /css/
.
Файл, который вы запрашиваете, не является файлом, не каталогом и находится в assets/
:
Так хорошо для правила, НО! затем в журнале вы запрашиваете /home/valentin/public_html/404.shtml
(автоматическое перенаправление для неизвестного объекта!)
И этот запрос снова проходит через правила!
Это не файл (! -F соответствует), не каталог (! -D соответствует), и он не находится ни в assets/
, ни в css/
, тогда он переписывается в index.php
1021 * что и требовалось доказать *
Вы можете исправить это, поместив файл 404.shtml в папку public_html/
или изменить его в конфигурации apache на настоящий файл.