Fralunia
@Fralunia

Как настроить nginx, что бы он подставлял динамически путь до папки после домена?

Добрый день. Пытаюсь настроить nginx под динамическую подстановку url в пути файлов.
Что я имею ввиду.
Есть путь demo.server.ru
Хочется что бы nginx смотрел запросы demo.server.ru/$path
и направлял в /var/www/apps/demo/$path

Вот как пытаюсь сделать, но упорно не хочет отправлять на путь.

server {
    listen 80;
    server_name  demo.server.ru;
    root /var/www/apps/demo/;
    location ^(.*) {
        set $path $1;
        passenger_enabled on;
        root /var/www/apps/demo/$path/current/public;
    }
}


пробовал и так, но успеха не добился : (
try_files $uri /var/www/apps/demo/$uri/current/public;
  • Вопрос задан
  • 900 просмотров
Решения вопроса 1
Fralunia
@Fralunia Автор вопроса
РЕШЕНО!

server {
    listen 80;
    server_name demo.server.ru;
    root /var/www/apps/demo;

        location ~ /?(.*)$ {
            set $path $1;
            alias /var/www/apps/demo/$path/current/public/;
            passenger_enabled on;
        }
}


единственное, пока что не очень красивый путь получается (дополнительные слеши).
"/var/www/apps/demo/sitename//current/public/

но и появилась еще одна загвоздка, как указать rails что его base_path != '/' , а '/sitename'
пробовал прописать в enviroments/production.rb — не помогло.
config.relative_url_root = "/sitename"
config.action_controller.relative_url_root = "/sitename"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666 Куратор тега Nginx
Компьютерный псих
можете сделать директорию demo.server.ru, и использовать
root /var/www/apps/$host/$path/current/public;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы