Требуется делать rewrite на /404 для всех несуществующих файлов/папок на сервере, кроме статики (css, js и т.п.). Пробовал уже десятки вариантов, оно не работает как не крути. Первые 10 страниц выдачи гугла по проблеме уже наизусть запомнил. Например:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(css¦jpg¦gif¦zip¦js)
RewriteRule . /404 [L]
Если попробовать сделать наоборот, чтобы только несуществующие файлы/папки с определенным расширением отправлялись на /404, то все работает
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} \.(xml|txt)$
RewriteRule . /404 [L]
Стоит добавить ! и никакого обратного эффекта от ! не получается, как это предполагалось, Вообще это правило будто пропадает с !.
Все равно делается реврайт на 404 для запросов с .css и т.п. на конце, хотя явно написано его не делать.