我有一个 AngularJs 应用程序 (v1),它是作为 Docker 映像构建的(使用 Nginx 作为 Web 服务器)。它具有以下结构
-app
--build
--js
|-app.min.js
|-login.min.js
--styles
|-app.min.css
|-login.min.css
--assets
--images
--fonts
--index.html
--login.html
我有以下内容nginx 配置
server {
listen 80;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /usr/share/nginx/html;
location /content {
rewrite ^/content$ /index.html;
}
location /content/login {
rewrite ^/content/login$ /login.html;
}
}
这是索引.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://localhost:3000/content
应用程序将提供服务index.html
,login.html
如果用户访问http://localhost:3000/content/login
。
和 都是/content
Angularjs/content/login
应用程序上不存在的路线。
我得到了什么
http://localhost:3000/content/login
访问应用程序时加载了以下 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 文件。