我的Nginx配置有问题。我有两个独立的angularjs2项目,它们应该与一个nginx实例一起工作。 应用程序分为两个文件夹/ admin和/ webapp。
现在我要做的是当我打电话给mydomain.com它应该在/ webapp中打开应用程序。如果我打电话给mydomain.com/admin,它应该打开管理应用程序(这也是一个angularj2应用程序)。
到目前为止我尝试的是以下内容:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
index index.html index.htm;
try_files $uri /index.html;
}
location /admin/ {
alias /usr/share/nginx/html/admin/;
try_files /admin/$uri /admin/index.html;
}
}
我希望我能得到帮助。提前谢谢!
答案 0 :(得分:1)
尝试:
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /admin {
root /usr/share/nginx/html;
try_files $uri $uri/ /admin/index.html;
}
root
指令优于alias
指令。有关详细信息,请参阅this document。
index
指令是继承的,不需要重复。
$uri/
条款会鼓励nginx
将/
附加到目录的URI,以便index
指令正常工作。我还更正了您的一些try_files
条款。有关详细信息,请参阅this document。