Т.е. ты реврайты не используешь в принципе? Т.е. реврайты в принципе зло?
Использую только в такой форме:
location /foo/bar/ {
location ~ ^/foo/bar/(?<id>\d+) {
rewrite ^ /id/$id last;
}
}
И то очень редко (по сути, это уже заглушка).
Передавать параметры в приложение гораздо проще в явном виде, благо nginx - единственный сервер, в котором можно нормально пользоваться fastcgi - fastchi-параметры собирать можно из любых переменных.
Прописывать location-ы гораздо нагляднее, чем реврайт-правила. Разница примерно как между структурным программированием и пачкой goto.
Если на верхнем уровне расположить только location-ы без регулярных выражений (или свести их к минимуму), а все регулярки поместить во вложенные location-ы, любая конфигурация nginx будет работать достаточно быстро независимо от роста числа location-ов: поиск по префиксному дереву достаточно быстрый.
Отсутствие поддержки <Location> в .htaccess приучило всех легко читать реврайты, и они не кажутся уже чем-то диким и ненормальным. Чтобы понять ненормальность подхода с реврайтами, надо, например, попробовать заменить сложный конфиг postfix-а на sendmail.
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)