刚进公司,公司使用的angular.js(1.3.0),主管跟我说要我移除angular项目访问路径URL里的#号移除(针对百度seo问题后来发现angular天生不适合做seo)。
angularjs框架定义了前端路由控制器,通过不同的url实现单页面(ng-app)对视图ng-view的部署刷新。
默认情况下:angular是不启动html5模式的,url中就会包括一个#号,用来区别angular管理的路径还是webserver管理的路径
angular框架提供了一种html模式的路由,可以直接移除#号
1.在路由里设置$locationProvider.html5Mode(true)
2.在angular页面添加base标签<base href="/">
(如果用户是先访问首页,然后再跳转是由angular前端管理的url,是能正常访问的)
(如果用户直接访问的不是首页,请求会先被提交到后台,后台路由没有对应页面的路由管理就好出现错误)
3