nginx правильный редирект на /
shambler81
nginx-forum at nginx.us
Tue Sep 30 11:54:20 UTC 2014
Поскольук 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 в редиректе не нуждается.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253619,253619#msg-253619
Подробная информация о списке рассылки nginx-ru