@KPEBETKA

Как правильно оформить регулярку в nginx?

Если в общих словах, то мне нужно сделать так чтобы при обращени к директории nginx правильно конфигурировал uwsgi
Сейчас конфиг такой
location  ~ ^/([^/]+) {
                include uwsgi_params;
                uwsgi_buffers   8 128k;
                uwsgi_read_timeout 30;
                uwsgi_pass unix:///tmp/$1.sock;
                uwsgi_param UWSGI_CHDIR /var/www/html/$1;
                uwsgi_param UWSGI_PYHOME /var/www/html/$1;
                uwsgi_param UWSGI_FILE /var/www/html/$1/$1.py;
}

Но он работает только для директорий первого уровня
Т.е. при запросе https://example.com/test1 отрабатывает скрипт test1.py, который лежит в папке test1
Но если запросить https://example.com/test1/test2, то скрипт test2.py, лежащий в папке test2 не отработает, а отработает скрипт test1.py

Колдую уже много времени, но никак не могу понять в чём проблема...
  • Вопрос задан
  • 2282 просмотра
Решения вопроса 1
Попробуйте так:
location  ~ ^.*\/([^\/]+)$ {
                include uwsgi_params;
                uwsgi_buffers   8 128k;
                uwsgi_read_timeout 30;
                uwsgi_pass unix:///tmp/$1.sock;
                uwsgi_param UWSGI_CHDIR /var/www/html/$1;
                uwsgi_param UWSGI_PYHOME /var/www/html/$1;
                uwsgi_param UWSGI_FILE /var/www/html/$1/$1.py;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы