Igor Sysoev wrote:
On Fri, Oct 17, 2008 at 04:18:11PM +0300, Serguei I. Ivantsov wrote:
Столкнулся с трудностью. Как можно в nginx-е сделать поведение
аналогичное директивам FilesMatch или DirectoryMatch в Apache
Никак. По моему опыту настройки Апача такая гибкость ведёт к трудно
сопровождаемым конфигурациям. Когда конфиг достигает заметных размеров,
Если я всё правильно понял, то как раз отсутствие этой самой гибкости и
приведёт к разрастанию конфига nginx-а. Возьмём мой пример. Есть ~40
виртуалхостов. И мне в конфиге для каждого (жирным шрифтом) сервера
нужно прописывать одни и те же настройки:
location ~ \.php$ {
proxy_pass http://127.0.0.1;
}
location ~ /\.ht {
deny all;
}
Что уже неудобно. А теперь ещё добавим условие: текстовую выдачу из
/russain/ нужно отдавать в CP1251.
Будет примерно следующее:
location ~ ^/russian/.*\.html?$ {
charset windows-1251;
}
location ~ ^/russian/.*\.php$ {
proxy_pass http://127.0.0.1:3128;
charset windows-1251;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:3128;
}
location ~ /\.ht {
deny all;
}
Что мне кажется несколько некрасиво.