angular.js - nginx部署 angularjs时的rewrite问题
巴扎黑
巴扎黑 2017-05-15 16:50:12
0
1
620

使用h5 angularjs完成了一个项目
此项目在正式环境上使用nginx做webserver

此项目的入口在微信/微博分享中
由于分享时的项目访问地址中含有’#‘(类似:test.com/#/goods)
’#‘的位置会被微博微信所修改
导致分享后的地址无法正常访问

所以分享时要去掉地址中的’#‘
也就是分享的链接是:test.com/goods

但是项目入口时如果没有#也会异常
此时是否可以通过nginx rewrite test.com/goods 到 test.com/#/goods
这里如何写rewrite

在此请教nginx高手

巴扎黑
巴扎黑

全部回复(1)
我想大声告诉你

可以考虑使用 html5 里的 pushState 来去掉 # 号。
在 config 方法里注入 $locationProvider, 然后设置 $locationProvider.html5Mode(true)。参见 http://docs.angularjs.cn/api/ng/provider/$locationProvider
nginx 的话应该可以这样

rewrite ^/(.*)$ http://test.com/#/ redirect;

用 302 跳转来改变 url,没有亲测,可以试下看看

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板