У меня есть приложение AngularJs (v1), созданное как образ Docker (с Nginx в качестве веб-сервера). Он имеет структуру ниже
-приложение
--строить
--js
|-app.min.js
|-логин.min.js
--стили
|-приложение.min.css
|-логин.min.css
--ресурсы
--картинки
--шрифты
--index.html
--логин.html
у меня есть следующее конфиг нгинкс
сервер {
слушать 80;
журнал_ошибок /var/log/nginx/error.log;
журнал_доступа /var/log/nginx/access.log;
корень /usr/share/nginx/html;
местоположение / содержание {
переписать ^/content$/index.html;
}
местоположение/контент/логин {
переписать ^/content/login$/login.html;
}
}
Это index.html файл
<html lang="en" data-ng-app="app">
<header>
<script src="build/js/app.min.js"></script>
<link rel="stylesheet" href="build/styles/app.min.css">
</header>
<body>
...
</body>
</html>
и логин.html файл
<html lang="en" data-ng-app="app-login">
<header>
<script src="build/js/login.min.js"></script>
<link rel="stylesheet" href="build/styles/login.min.css">
</header>
<body>
...
</body>
</html>
Чего я хочу достичь
Когда пользователи переходят на http://локальный:3000/контент
приложение будет служить index.html
и логин.html
если пользователи посещают http://локальный:3000/контент/логин
.
Оба /содержание
и /контент/логин
маршруты, которых нет в приложении Angularjs.
Что я получил
При доступе http://локальный:3000/контент/логин
приложение загрузило 2 следующих файла
http://localhost:3000/content/build/js/login.min.js
http://localhost:3000/content/build/styles/login.min.css
Оба они получили код ошибки 404.
Чего я ожидал
Я хочу, чтобы Nginx напрямую обслуживал файл http://localhost:3000/content/build/js/login.min.js
с содержимым файла из http://localhost:3000/build/js/login.min.js
. Это также относится к файлам CSS.