Поскольук RweriteCond не может проверить на 404, до редиректа можно только в nginx правило нужно переписать под nginx
Требуется сделать редирект на слеш но хитрый.
RewriteCond ЕСЛИ НЕ 400
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [R=301]
И того.
редирект должен сработать если
1. страница не отдает 400 ( посколкьу иначе отдаст 301+400)
2. если урл НЕ заканчивается .html|php|txt и тд посколкуь слеш после расширения глупо.
3 если урл НЕ содержит слеш в конце ( тобишь уже не требуется)
То седлать редирект со всех урлов на урлы со слешем вконце.
index.html - не редиректит поскольку заканчивается расширение м
index.php/aaa/aaa/ - не редиректит посколку слеш вконце
index.php/?=ID2333s правило не затрагивает гет запросы
404 правило неработает посколкьу 404 в редиректе не нуждается.