FilimoniC
@FilimoniC

Nginx location regex?

Прошу посильной помощи с regex в nginx


Суть.

Есть сайт, на сайте есть разделы test и testabcd.


Нужно чтобы ссылки вида
http: //site/test<br/>
http: //site/test/<br/>
http: //site/test/something/file.html<br/>
http: //site/test/something/id<br/>
http: //site/testabcd<br/>
http: //site/testabcd/<br/>
http: //site/testabcd/something/id<br/>
http: //site/testabcd/something/file.html <br/>
попадали под location с fastcgi.<br/>
Но при этом<br/>
http: //site/testqwerty/<br/>
http: //site/test%SMTH% , где %SMTH% - что угодно, непредсказуемое


не попадал в этот Location

Подскажите, как это правильно реализовать?


Сейчас что-то вроде

location ~* /(test|testabcd)/ {<br/>
 fastcgi_pass unix:/tmp/php-fpm.socket;<br/>
 ......<br/>
}



При http: //site/test

скачивает test (который php-скрипт на самом деле)
  • Вопрос задан
  • 16698 просмотров
Решения вопроса 1
Evengard
@Evengard
Ну а зачем вы в конце слеш то воткнули? Потому и скачивает.
Создайте второй локейшн — без следа — и сделайте реврайт или редирект на тот, что со слешем.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sdevalex
@sdevalex
Вы такое имеете в виду? Раздается статика, а на определённом адресе backend…
    server
    {
        listen       80;
        server_name  localhost;

        charset utf-8;
        
        location /q { //обработка backend...
            proxy_pass http://localhost:8000;
            proxy_set_header Host $host;
        }

        location / {
            root   /home/alex/projects/web/localhost/public;
            index  index.html;
        }
    }
Ответ написан
Ваш ответ на вопрос

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

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