使用HTML5模式配置多个AngularJS2项目的Nginx配置
我的Nginx配置有问题。我有两个单独的angularjs2项目,它们应该与一个nginx实例一起工作。 应用程序分为两个文件夹/admin和/webapp 现在我要做的是,当我调用mydomain.com时,它应该在/webapp中打开应用程序。如果我调用mydomain.com/admin,它应该会打开admin应用程序(这也是一个angularj2应用程序) 到目前为止,我尝试了以下内容:使用HTML5模式配置多个AngularJS2项目的Nginx配置,angular,nginx,location,html5mode,Angular,Nginx,Location,Html5mode,我的Nginx配置有问题。我有两个单独的angularjs2项目,它们应该与一个nginx实例一起工作。 应用程序分为两个文件夹/admin和/webapp 现在我要做的是,当我调用mydomain.com时,它应该在/webapp中打开应用程序。如果我调用mydomain.com/admin,它应该会打开admin应用程序(这也是一个angularj2应用程序) 到目前为止,我尝试了以下内容: server { listen 80; server_name localho
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;
}
}
我希望能得到帮助。提前谢谢 试试看:
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
指令。有关详细信息,请参阅
index
指令是继承的,不需要重复
$uri/
术语将鼓励nginx
将/
附加到目录的uri,以便索引
指令正常工作。我还更正了您的一些try\u文件
术语。有关详细信息,请参阅。我已尝试从try\u文件中删除/admin/并将其附加到根目录中的“/admin”位置,但这不起作用。你知道为什么吗?/admin/index.html
在哪里?我的答案假设它位于/usr/share/nginx/html/admin/index.html
。$uri
变量已经包含了/admin/
,因此它不应该出现在root
语句中。是的,它位于那里,文件结构如下所示:/usr/share/nginx/html/-admin-webapp