我在配置 nginx 来提供静态 angularjs 文件时遇到了问题。
这是我的情况,我希望我的应用程序的登录页面位于
domain.com
以及下面的 AngularJS 应用
domain.com/app
现在我正在努力解决 nginx 配置问题。我创建了一个 nginx 服务器配置,如下所示:
server {
listen 80; ## listen for ipv4; this line is default and implied
index index.html index.htm;
server_name domain.com www.domain.com;
location / {
root /usr/share/nginx/html/domain.com;
}
location /app {
alias /usr/share/nginx/html/domain.com/app/public;
}
}
但这不起作用,我在 Firebug 上收到此错误:
"NetworkError: 404 Not Found - http://domain.com/app/"
任何想法?
好的,我取得了一些进展,如果我改变以下内容:
alias /usr/share/nginx/html/domain.com/app/public;
更改为以下内容:
alias /usr/share/nginx/html/domain.com/app/public/;
(如果我使用 root 而不是别名,则会收到 403 禁止错误)
我现在可以访问该应用程序,但资产文件仍然有 404,例如其中之一是:
"NetworkError: 404 Not Found - http://example.com/app/assets/images/logo.png"
资产位于以下目录下:
/usr/share/nginx/html/example.com/app/public/app/assets/
但由于某种原因,nginx 正在这里寻找资产:
/usr/share/nginx/html/example.com/app/public/assets/
任何想法?