Tôi có ứng dụng AngularJs (v1) được tạo dưới dạng hình ảnh Docker (với Nginx là máy chủ web). Nó có cấu trúc bên dưới
-ứng dụng
--xây dựng
--js
|-app.min.js
|-đăng nhập.min.js
--phong cách
|-app.min.css
|-đăng nhập.min.css
--tài sản
--hình ảnh
--phông chữ
--index.html
--login.html
tôi có những điều sau đây cấu hình nginx
người phục vụ {
nghe 80;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
gốc /usr/share/nginx/html;
địa điểm/nội dung {
viết lại ^/content$ /index.html;
}
vị trí/nội dung/đăng nhập {
viết lại ^/content/login$ /login.html;
}
}
Đây là index.html tập tin
<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>
và đăng nhập.html tập tin
<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>
Những gì tôi muốn đạt được
Khi người dùng đi đến http://localhost:3000/nội dung
ứng dụng sẽ phục vụ index.html
và đăng nhập.html
nếu người dùng truy cập http://localhost:3000/content/đăng nhập
.
Cả hai /Nội dung
và /nội dung/đăng nhập
là các tuyến không tồn tại trên ứng dụng Angularjs.
Tôi đã nhận được gì
Khi truy cập http://localhost:3000/content/đăng nhập
ứng dụng đã tải 2 tệp sau
http://localhost:3000/content/build/js/login.min.js
http://localhost:3000/content/build/styles/login.min.css
Cả hai đều có mã lỗi 404.
tôi đã mong đợi điều gì
Tôi muốn Nginx phục vụ trực tiếp tệp http://localhost:3000/content/build/js/login.min.js
với nội dung của tập tin từ http://localhost:3000/build/js/login.min.js
. Nó cũng áp dụng cho các tệp CSS.