Re: Как настроить роуминг с помощью root?

Константин Ткаченко constantine на mellodesign.ru
Чт Апр 16 20:53:55 UTC 2020


Здравствуйте!
То, что вы хотите сделать, проще делается через location. Примерно так:

server_name localhost;

location ~ ^/(?<project>)/$ {
    root /var/www/$project/public;
    try_files ...
}

П.С. Пример не проверял

> 16 апр. 2020 г., в 13:08, BugBuster <nginx-forum на forum.nginx.org> написал(а):
> 
> Я хочу подставлять переменную в `root` из URL, примерно так:
> 
> server { 
> listen 80; 
> index index.php index.html; 
> server_name ~^localhost/(?<project>)/.+$; 
> root /var/www/$project/public; 
> ... 
> } 
> 
> Идея заключается в том, чтобы настроить роутинг в соответствии с
> директориями в корне:
> 
> 1) "/var/www/project-one/public/index.php" 
> 2) "/var/www/project-two/public/index.php" 
> 
> Таким образом при таких запросах должны отдаваться файлы в соответствующих
> директориях проектов:
> 
> "http://localhost/project-one/" ->> "/var/www/project-one/public/" 
> 
> "http://localhost/project-two/" ->> "/var/www/project-two/public/" 
> 
> Можно ли это сделать без использования alias?
> 
> Posted at Nginx Forum: https://forum.nginx.org/read.php?21,287679,287679#msg-287679
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru