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

      

  • 相关阅读:
    idea2020 安装
    739. 每日温度
    图像翻转
    257. 二叉树的所有路径
    1466. 重新规划路线
    面试题 04.05. 合法二叉搜索树
    671. 二叉树中第二小的节点
    965. 单值二叉树
    648. 单词替换
    137. 只出现一次的数字 II
  • 原文地址:https://www.cnblogs.com/lishalom/p/6555156.html
Copyright © 2011-2022 走看看