• 三步实现 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

      

  • 相关阅读:
    windows下安装git
    使用forever运行nodejs应用
    在Sublime Text 2 中使用Git插件连接GitHub
    一个向导功能JS库
    GitHub window 提交失败的问题
    jquery.shapeshift网格插件支持动画效果
    类似bootstrap的UI库FlatUI
    timus_1006
    timus_1692
    系统引导加载器的简单实现
  • 原文地址:https://www.cnblogs.com/lishalom/p/6555156.html
Copyright © 2020-2023  润新知