刚进公司,公司使用的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.在nginx中增加try_files配置(在后台设置路由)

server {set $htdocs /www/deploy/mysite/onbook;listen 80;server_name onbook.me;location / {root $htdocs;try_files $uri $uri/ /index.html =404;}
}

附上公司网站

angular路由移除#号(跟nginx)相关推荐

  1. vue2路由移除#号(Apache)

    刚回上海,事情挺多的,忙到现在,折腾了一下vue2 vue2移除路由#号基本根据文档来就行了,在路由中设置: mode: 'history', 在开发阶段#就移除了,然后是生产阶段,官方文档也有详细的 ...

  2. Angular 路由

    Angular 路由 简单路由配置 每个带路由的 Angular 应用都有一个Router(路由器)服务的单例对象. 当浏览器的 URL 变化时,路由器会查找对应的 Route(路由),并据此决定该显 ...

  3. Angular 路由守卫

    1. 路由 Angular路由: 可以控制页面跳转:可以在多视图间切换: 2. 路由守卫 Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开.进入某路由::: return true ...

  4. angular 路由快照和 aggrid 结合后,导致aggrid 表头消失的问题

    一,路由快照简述 1. angular的路由快照,简单的说,就是记录路由访问状态.比如当访问过A路由加载过A组件之后,再次访问A路由,A组件不会重新加载 (即不会重新渲染页面,不会重新请求接口).   ...

  5. angular 路由项目例子

    angular 路由是我在工作中体验非常便捷的一点, 这是详细的API ,查看API 可以了解很多东西, https://github.com/angular-ui/ui-router/wiki/Qu ...

  6. angular路由详解

    angular路由 路由 (route) ,几乎所有的 MVC(VM) 框架都应该具有的特性,因为它是前端构建单页面应用 (SPA) 必不可少的组成部分. 那么,对于 angular 而言,它自然也有 ...

  7. Angular路由复用策略出现Cannot reattach ActivatedRouteSnapshot created from a different route错误

    复用代码 自己写的angular路由复用,用着基本挺好. 定义的的顺序就是复用的逻辑,离开某路由页面时,shouldDetach觉得可复用后,store去保存路由,再次进入页面时,shouldAtta ...

  8. Angular路由--基本用法

    2019独角兽企业重金招聘Python工程师标准>>> 路由就是将链接和组件联系起来的桥梁,最基本的用法是将一个URL所对应的组件在页面中显示出来,这里说明一下使用路由的基本流程内容 ...

  9. Angular路由--模块预加载

    2019独角兽企业重金招聘Python工程师标准>>> 预加载是介于直接加载.惰加载的一种方式. 预加载的工作原理 在每次成功的导航后,路由器会在自己的配置中查找尚未加载并且可以预加 ...

最新文章

  1. android6 运行,Xbox串流开放测试,只需安卓6即可运行
  2. 【BZOJ】3173: [Tjoi2013]最长上升子序列(树状数组)
  3. ListView.getChildCount() 详解
  4. Linux--DHCP
  5. java 线程接口_java - 实现线程的接口
  6. 为 Office 2007/2010 安装程序整合 Service Pack 及更新程序
  7. IEnumerableT 接口主要成员
  8. C ++基础 | 格式化输出,文件输入输出(File IO),头文件(Header Files)_3
  9. linux系统认不到设备,linux中/dev/找不到设备
  10. vue中文件上传方法
  11. Netty之Channel、NioEventLoopGroup、客户端connect方法总结
  12. 一种成熟的MODBUS上位机软件(MThings) 永久免费中文,可用于调试测试工具助手
  13. 【WiFi】WiFi 6E
  14. 【人工智能项目】深度学习实现图像多标签分类
  15. vue中audio实现微信语音播放动画
  16. Aras Innovator: 如何快速的装多份innovatorSample数据到不同的数据库
  17. 【阿里巴巴/腾旭】mysql面试题汇总
  18. js 操作在当前日期加减(天、周、月、年数)
  19. python中如何调取wind数据_python实现从wind导入数据
  20. 机器学习的所有资源链接和经验教训(五)ML技术讲座

热门文章

  1. cgcs2000大地坐标系地图_北京54坐标和西安80坐标为何要统一成CGCS2000坐标?务林人必知!...
  2. 吉大20春学期C语言程序设计作业二,吉大18春学期《C语言程序设计》在线作业二【答案】...
  3. mysql 郝朝阳_秒级故障切换!用MHA轻松实现MySQL高可用(三)
  4. nvm卸载node_nvm-node版本管理工具
  5. php多线程编程代码实例
  6. React Native 之 网络请求 fetch
  7. php中对于json_decode()和json_encode()的使用方法笔记
  8. 【深度学习】利用一些API进行图像数据增广
  9. 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(二)
  10. python控制nao机器人_python控制nao机器人身体动作实例详解