【问题标题】:How should I structure my AngularJS routing to handle URL rewriting and page refreshes?我应该如何构建我的 AngularJS 路由来处理 URL 重写和页面刷新?
【发布时间】:2015-02-01 06:41:45
【问题描述】:

我正在使用 AngularJS 构建自己的网站。我希望我的网站导航在页面之间不存在“浏览器闪存”的情况下运行,例如单击index.html 上的链接,将您带到foo.html。我还想要干净的 URL,例如,我可以转到 mysite.com/foo 并让浏览器显示 foo.html 中的内容。

Angular 在 HTML5 模式下的客户端路由是一种有效的解决方案,但也有例外:

如果我转到mysite.com,我可以配置$routeProvider 将视图映射到适当的部分(例如index.htmlfoo.html)并修改浏览器显示的URL。但是,如果我通过直接在浏览器中输入该 URL 来访问 mysite.com/foo,我将收到 404 错误,因为服务器正在寻找 mysite.com/foo/ 中不存在的内容。如果我在 Angular 指向 mysite.com/foo 时刷新页面,也会发生同样的情况。

简而言之,导航到mysite.com/foo 只有在从 Angular 应用程序中导航时才能正确处理。

我该如何处理这个问题,以便我的网站按照我想要的方式运行?我是否使用 PHP 和/或 mod_rewrite 在 404 时将浏览器重定向回 mysite.com

本质上,我希望 URL mysite.com/foo 显示 mysite.com 视图 + foo.html 部分 无论 URL 是由 Angular 设置还是在浏览器 URL 栏中手动输入

【问题讨论】:

    标签: javascript angularjs url-rewriting


    【解决方案1】:

    是的,你需要类似 mod_rewrite 的东西。

    http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 2017-04-17
      • 2017-11-27
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多