我们正在Nginx上为即将启动的应用程序运行angular。 Angular正在使用其路由功能,因此默认情况下,如果要刷新页面,Nginx将返回404错误,因为找不到路由路径。
为纠正此问题,我们在Nginx配置中添加了以下部分:
location / {
try_files $uri $uri/ /index.html?$args;
}
在一定程度上可以正常工作,如果您执行浏览器刷新,则页面现在将部分加载。问题在于各种资产的路径正在扭曲。
例如,我们在网站上有一个名为“帐户/登录”的路径,该路径的访问方式如下:
http://site.name/Account/Login
该页面的Assets文件夹中有一个CSS文件。通常,当完全通过Angular路由访问页面(即不刷新刷新)时,它将位于以下位置:
http://site.name/Assets/CSS/Login.css
我们发现的是,在刷新页面并重新编写页面时(在加载页面时),资源路径扭曲并变为:
http://site.name/Account/Login/Assets/CSS/Login.css
我怀疑这与Nginx无关,实际上,它是Angular端所需的一些配置,用于指定如何引用路径,但是我们对Angular还是陌生的,所以不确定从哪里开始。
有什么想法吗?
答案 0 :(得分:0)
在Nginx Config文件中尝试这样
location / {
index index.html $yii_bootstrap;
try_files $uri $uri/ /$yii_bootstrap?$args;
}