<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><a href="http://brainspl.at/nginx.conf.txt">http://brainspl.at/nginx.conf.txt</a><div><br></div><div><span class="Apple-style-span" style="font-family: Times; font-size: 16px; "><pre style="word-wrap: break-word; white-space: pre-wrap; ">  # pull in mime-types. You can break out your config 
  # into as many include's as you want to make it cleaner
  include /etc/nginx/mime.types;
</pre><div><font class="Apple-style-span" face="-webkit-monospace"><span class="Apple-style-span" style="white-space: pre-wrap;"><br></span></font></div></span><div><div>On 18.10.2008, at 16:40, Serguei I. Ivantsov wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Igor Sysoev wrote:<br><blockquote type="cite">On Fri, Oct 17, 2008 at 04:18:11PM +0300, Serguei I. Ivantsov wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">Столкнулся с трудностью. Как можно в nginx-е сделать поведение<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">аналогичное директивам FilesMatch или DirectoryMatch в Apache<br></blockquote></blockquote><blockquote type="cite">Никак. По моему опыту настройки Апача такая гибкость ведёт к трудно<br></blockquote><blockquote type="cite">сопровождаемым конфигурациям. Когда конфиг достигает заметных размеров,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote>Если я всё правильно понял, то как раз отсутствие этой самой гибкости и<br>приведёт к разрастанию конфига nginx-а. Возьмём мой пример. Есть ~40<br>виртуалхостов. И мне в конфиге для каждого (жирным шрифтом) сервера<br>нужно прописывать одни и те же настройки:<br><br>location ~ \.php$ {<br> &nbsp;&nbsp;&nbsp;&nbsp;proxy_pass &nbsp;&nbsp;http://127.0.0.1;<br>}<br><br>location ~ /\.ht {<br> &nbsp;&nbsp;&nbsp;deny &nbsp;all;<br>}<br><br>Что уже неудобно. А теперь ещё добавим условие: текстовую выдачу из<br>/russain/ нужно отдавать в CP1251.<br>Будет примерно следующее:<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ ^/russian/.*\.html?$ {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;charset &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;windows-1251;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ ^/russian/.*\.php$ {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://127.0.0.1:3128;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;charset &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;windows-1251;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ \.php$ {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://127.0.0.1:3128;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~ /\.ht {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny &nbsp;all;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br><br>Что мне кажется несколько некрасиво.<br><br><br></div></blockquote></div><br></div></body></html>