<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">5 июня 2018 г., 14:18 пользователь darksmoke <span dir="ltr"><<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Добрый день<br>
Объясните, пожалуйста на пальцах, как работает try_files? Не как не могу<br>
разобраться.<br>
<br>
У мен есть <br>
<br>
    location /test {<br>
        alias /opt/DATA/www/mp;<br>
        expires -1;<br>
<br>
        set_from_accept_language $lang en ru ua;<br>
#       index index_$lang.html;<br>
        try_files /index_$lang.html /index_ua.html;<br>
    }<br>
<br>
В таком виде почему то не находит css и картинки. В логах <br>
10.222.222.222  443     10.44.44.44     2018-06-05T14:15:50+03:00       forward-to -    GET<br>
/test/icons/diagram.svg<br>
HTTP/1.1        404     -       136     0.000   -       <a href="https://domain.ru/test/" rel="noreferrer" target="_blank">https://domain.ru/test/</a> Mozilla/5.0 (X11; Ubuntu;<br>
Linux x86_64; rv:60.0) Gecko/20100101<br>
Firefox/60.0    MP_UK=b_pWrf5wxKQ_<wbr>KmeFYaG2J7Zk-2XzXMh976i_<wbr>p5GoAs4;<br>
_ga=GA1.2.606895225.1527855206  <a href="http://domain.ru" rel="noreferrer" target="_blank">domain.ru</a><br>
<br>
Идея такая:<br>
Определяем пользовательскую локаль. Загружаем соответствующий файл. Если<br>
такого файла нет возращает дефолтный.<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?21,280036,280036#msg-280036" rel="noreferrer" target="_blank">https://forum.nginx.org/read.<wbr>php?21,280036,280036#msg-<wbr>280036</a><br>
<br>
______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></blockquote></div><br></div><div class="gmail_extra">> try_files Проверяет существование файлов в заданном порядке и использует
для обработки запроса первый найденный файл<br></div><div class="gmail_extra">В вашем случае все ссылки будут через идти через /index_$lang.html. Чтобы открывались ссылки с css и js должно быть, что-то вроде:</div><div class="gmail_extra"><br></div><div class="gmail_extra">try_files $uri /index_$lang.html /index._ua.html;</div><div class="gmail_extra"><br></div><div class="gmail_extra">Тогда, сначала проверится путь $uri - например css-файл, если его нет то будет проверятся слдующая директива</div><div class="gmail_extra">Тут достаточно подробно расписано <a href="https://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files">https://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files</a><br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>С уважением, Константин!</div><div>Web-разработчик <a href="http://mellodesign.ru/" target="_blank">Mello</a>.</div><div><br></div><div>Best regards,</div><div>Constantine</div><div><a href="http://mellodesign.ru/" target="_blank">Mello</a> Web developer.</div><div><br></div>+7-909-385-87-17</div></div></div></div></div></div></div></div></div></div></div></div>
</div></div>