我在我的应用程序中使用UI-Router进行路由/状态,并且URL正在使用"#"所以要删除它,我使用$locationProvider
之类的 -
function configState($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
在模块相关性中添加了ngRoute
,并在我的index.html中添加了<base href="/" >
。
问题 -
如果我将其用作普通应用,例如在同一个标签页中并导航到其他状态,只要我将该网址粘贴到另一个标签页并点击输入其投掷Cannot GET /app_views/contacts
,它就可以但网址类似于 - http://localhost:9000/app_views/contacts
虽然在URL中使用哈希,但它以两种方式工作。
答案 0 :(得分:2)
您可能会收到此错误,因为您的服务器配置不正确。换句话说,当您手动输入/app_views/contacts
时,它将向服务器请求该页面。为了使其正常工作,您需要配置服务器以将所有流量路由到index.html
页面,以便Angular正确接管并显示正确的视图。
以下是相关帖子Reloading the page gives wrong GET request with AngularJS HTML5 mode