Назад | Перейти на главную страницу

Как настроить несколько вложенных подкаталогов в Nginx с использованием подстановочных знаков?

👋

Извините, если об этом спросили раньше. Я искал, но не смог найти ничего близкого к тому, что пытаюсь выполнить, и был бы признателен за любые указания, которые могли бы приблизить меня к решению этой проблемы. 😊

У меня следующая настройка сервера:

Пока что довольно просто.

Проблема:

Однако один из каталогов внутри {my_dir} - это приложение Vue, использующее интерфейсную маршрутизацию. Все работает нормально, пока браузер не обновится и Nginx не вернет 404 из-за того, что нет domain.com/{my_dir}/{vue_app_dir}/{vue_path} доступный. Чтобы исправить это, мне пришлось бы перенаправить любой запрос сервера из {vue_path} к {vue_app_dir} /index.html.

Я пробовал несколько комбинаций серверных блоков над тем, который я опубликовал ранее, но безуспешно. 😫

Опять же, извините, если на это ответили раньше.

При условии, что my_dir в location директива и alias директива с тем же именем, вы можете использовать root вместо. Видеть этот документ для подробностей.

Вы можете добавить еще location для приложения Vue и включите try_files заявление, чтобы избежать 404 ответов. Видеть этот документ для подробностей.

Например:

location ^~ /my_dir {
    root /var/www/domain.com;
    index index.html index.htm;
}
location ^~ /my_dir/vue_app {
    root /var/www/domain.com;
    index index.html index.htm;
    try_files $uri $uri/ /my_dir/vue_app/index.html;
}