Ben*_*esh 12 asp.net redirect pushstate asp.net-mvc-4 angularjs
所以我设置了一个HTML5单页面应用程序,它运行良好.该页面是在/App/,当某人进入内容时,它看起来像/App/Content/1234.
一个问题:如果用户刷新页面,则服务器无法找到该URL,因为它实际上并不存在.如果我发送给他们/App/#/Content/1234,他们是金色的,但最好的方法是什么?/ App下有很多不同风格的URL.
全局捕获任何请求~/App/(.*)并将其重定向到的最佳方法是什么~/App/#/$1?
在MVC中注册的唯一路由是标准OOTB路由.
听起来您的服务器没有将 url 重写为应用程序的基本 URL。
Web 服务器上所需的 URL 重写取决于服务器。对于 Apache,您可以使用 mod_rewrite。
相反,将 Angular 切换到“Hashbang 模式”(默认),以便 url 都将在 url 中的 # 之后存储本地状态。
我不希望我的应用程序需要更改服务器配置,因此我建议使用 hashbang 模式。
请参阅AngularJS 文档。请参阅“Hashbang 和 HTML5 模式”部分 HTML5 模式部分描述了支持 URL 的 HTML5 模式所需的所有配置问题。