zoukankan      html  css  js  c++  java
  • 三步实现 AngularJS URL 去 # 号

    1、打开源码,设置 $locationProvider 模块,将html5Mode设置为true.

    推荐阅读:angularjs 官方 $location文档  http://docs.angularjs.org/guide/dev_guide.services.$location

    2、在 index.html 入口文件中设置 <base> 标签定义相对路径(index 在根目录下的地址)

    HTML5Mode设置为true就会自动的解析相对链接

    到这此为止,如果用户从首页index)开始访问,然后跳转到其他页面是一切正常的(前台HTML5Mode 起作用)。但如果用户通过URL 直接打开非首页页面(后台解析URL),就会出现404错误。

    简单地说,这是因为直接输入的URL(无#号)地址不受AngularJS 的路由系统管理,而服务器本身也未通过此路径找到这样一个文件,于是 apache 就抛出了这样一个错误。

    想明白这个点,解决方法就很明了了,当直接输入不带#号的URL 地址时,我们让 apache 的 404 错误处理机制给URL 加上 # 号,那么AngularJS 就能正确解析了。

    而错误的URL导向404页面的功能,是可以自己在 AngularJS/UI 提供的路由中去处理的。

    3、404重定向

    在apache的 .htaccess 文件中添加一下配置

    重启 apache ,大功告成!

    参考文章:

      http://blog.fens.me/angularjs-url/

      https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag

      

  • 相关阅读:
    opencv图片压缩视频并读取
    python常见模块统计
    MySQL索引及优化
    web开发框架之 Tornado
    Tornado项目基本架构
    python闭包以及装饰器
    python语法糖
    python os模块
    TCP中的3次握手和4次挥手
    Python常见的数据类型方法
  • 原文地址:https://www.cnblogs.com/lishalom/p/6555156.html
Copyright © 2011-2022 走看看