Nginx使用HTML5Mode配置多个AngularJS2项目

时间:2017-01-13 09:48:30

标签: angular nginx location html5mode

我的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;
  }
}

我希望我能得到帮助。提前谢谢!

1 个答案:

答案 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