Здравствуйте! То, что вы хотите сделать, проще делается через location. Примерно так:
server_name localhost; location ~ ^/(?<project>)/$ { root /var/www/$project/public; try_files ... } П.С. Пример не проверял > 16 апр. 2020 г., в 13:08, BugBuster <nginx-fo...@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 mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru