我有启用 html5mode 的 angularjs 应用程序。
我曾尝试在 IE8 中运行应用程序,但似乎 URL 的前缀是 #! 是不是应该是-后退按钮起作用等等..hashbang模式
我试图在现代浏览器中运行应用程序,似乎历史 api 也可以工作。一切都好。
但是,如果我http://localhost:3000/notes
直接在两个浏览器的地址栏中点击,我会从 webrick/rails 应用程序中收到路由错误。我认为 Angular 会接管这个请求并处理它。
正如角度指南所说,我没有在服务器端设置任何东西:
使用这种模式需要在服务器端重写 URL,基本上你必须重写所有指向应用程序入口点的链接(例如 index.html)
这就是我从 webrick 收到路由错误的原因吗?如果我能够设置重写规则它是如何工作的?我想如果我重写类似http://localhost:3000/notes -> http://localhost:3000
(如果你愿意,可以索引)“/notes”之类的东西 - 我想跳进去的地方已经消失了,角度应用程序永远不会知道路由..
如果没有办法告诉 webrick 什么以及如何重写。您在开发环境中的表现如何?
十分感谢。