Page 1 of 1

Nginx и пользовательские location в include файле

Posted: Tue May 22, 2018 2:20 pm
by thorvaldr
Такой вопрос.
Есть необходимость прописать отдельные локейшны, для разных задач, с регулярками. Пытаюсь это делать в стандартном include файле по пути /home/user/conf/web/nginx.domain.com.conf
Получил следующую проблему - префиксные локейшны обрабатываются прекрасно, а вот локейшны с регулярками в этом файле игонрируются. Если записать в основной файл конфига /home/user/conf/web/domain.com.nginx.conf, внутрь корневого location, всё работает.
В теории нжинкс подтягивает все локейшны из инклюда и обрабатывает сначала регулярки, потом уже префиксные. В данном случае, похоже, он всё таки не хочет видеть регулярки вне корневого локейшна.
Внимание, вопрос - можно ли как-то решить эту проблему без правки темплейта?
Возможно, я туплю, возможно, не хватает какой-то опции в основном конфиг файле nginx.conf.
Дополнительная информация - речь идет о темплейте wordpress2

Re: Nginx и пользовательские location в include файле

Posted: Tue May 22, 2018 4:57 pm
by grayfolk
Создайте отдельный шаблон и пропишите в корневом location все, что вам надо.

Re: Nginx и пользовательские location в include файле

Posted: Tue May 22, 2018 9:50 pm
by Stesh
nginx -T покажет загруженную конфигурацию, так как ее видит nginx. Но в силу специфики (например, с регулярками - nginx обрабатывает до первого совпадения, ниже он может не опускаться), в начале своих теплейтов я использую примерно такое

Code: Select all

include     %home%/%user%/conf/web/pre.%domain%.conf*;
еще перед корневым локейшеном.

Re: Nginx и пользовательские location в include файле

Posted: Wed May 23, 2018 1:17 pm
by thorvaldr
Понял, спасибо!