ฉันมีแอป AngularJs (v1) ที่สร้างเป็นอิมเมจ Docker (โดยมี Nginx เป็นเว็บเซิร์ฟเวอร์) มีโครงสร้างด้านล่าง
-แอป
--สร้าง
--js
|-app.min.js
|-login.min.js
--สไตล์
|-app.min.css
|-login.min.css
--ทรัพย์สิน
--ภาพ
--แบบอักษร
--index.html
--login.html
ฉันมีดังต่อไปนี้ การกำหนดค่า nginx
เซิร์ฟเวอร์ {
ฟัง 80;
error_log /var/log/nginx/error.log;
access_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://localhost:3000/content
แอพจะให้บริการ index.html
และ เข้าสู่ระบบ.html
หากผู้ใช้เยี่ยมชม http://localhost:3000/content/login
.
ทั้ง /เนื้อหา
และ /เนื้อหา/เข้าสู่ระบบ
เป็นเส้นทางที่ไม่มีอยู่ในแอป Angularjs
ฉันได้อะไร
เมื่อเข้าถึง 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