具有直接 url 的 AngularJS 路由

标签 angularjs

我在路由方面遇到了问题,当我在页面之间路由时一切正常 <a href="/someurl">在页面上。

当我使用# like http://localhost/#/someurl 直接将链接输入浏览器时它也很好用。

但是如果我输入时不带#,比如http://localhost/someurl我得到 Cannot GET /task/2

我在 angular $locationProvider.html5Mode(true); 中使用 HTML5 模式后端是使用 MVC4 C# 构建的 Web API,因此仅使用 app.js( Angular )控制路由

最佳答案

如果你想使用 $locationProvider 的 html5Mode,你必须将它与一些服务器调整结合起来,这样你的网络服务器就知道无论路径如何都提供相同的内容。

例如,如果您使用的是 Apache,则可以使用 mod_rewrite。

关于具有直接 url 的 AngularJS 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408940/

相关文章:

html - 在范围销毁上销毁指令/子范围

javascript - CSS - 纯 CSS + AngularJS 中的旋钮光标

node.js - 安装angularjs时出现"Unexpected end of JSON input"错误

angularjs - 从 html 访问 $scope?

angularjs - 如何在 Angular 2 模板内显示获取的 html?

templates - 在 angularjs View 之外进行更改

javascript - 过滤器在 ng-repeat 中不起作用

javascript - Angular - 检测 Controller 何时为 `unloaded`

javascript - AngularJS 将字符串作为函数传递给 ng-click

javascript - 如何将文本框的值传递给 Controller ​​中的方法?