关于angularjs-ui-router的 html5Model开启后的一些问题


我使用angular-ui-router的时候,为了使页面的url友好一点,就开启了html5Model:


 $locationProvider.html5Mode(true);

之后url从 http://angularjs.me/#/add 变成了 http://angularjs.me/add ,url的友好效果是达到了,但是一刷新页面直接跪了,404!如果是 http://angularjs.me/#/add 刷新是正常的。。。

我的疑惑在于这里的url难道要我去在ngnix上去配置一些规则吗?匹配url后重定向到带有 # 的链接,或者是nginx上配置一些伪静态什么的,求解???

ui router html5 angularjs

电流表电压表 9 years, 9 months ago

还是找到答案了,解决的核心还是要配置nginx,虚拟主机配置如下:


 server_name  angularjs.me;

#charset koi8-r;

access_log  logs/angularjs.me.access.log;

location / {
     root   /Library/WebServer/Documents/angularjs;
     index  index.html index.htm;
     #就是增加了下面这句才好。。。
     try_files $uri $uri/ /index.html =404;
}

具体的参考 这篇文章

最後Dシ者 answered 9 years, 9 months ago

Your Answer