我使用index.html
作为我的网页的主人,我使用ng-view
和$routeProvider
获得了部分观看次数。从网址中删除#
字符后(使用html5mode
),我的应用无法使用网址(默认路由除外)。当新标签返回404错误时也打开页面。该应用无法找到index.html
。当我点击浏览器中的链接
<!DOCTYPE html >
<html ng-app="myApp">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<!-- CSS File -->
<!-- JS File -->
<title></title>
</head>
<body>
<div class="container" ng-controller="RootController">
<!-- Header Of Page -->
<div class="header">
<a href="" class="header_logo">
<img src="img/logo.png">
</a>
<a href="" class="header_name">
</a>
<a href="{{ link }}" class="header_signOut">
</a>
</div>
<!-- Separator Line -->
<div class="separator"></div>
<!-- Rendered By AngularJS -->
<div class="myClass" ng-view></div>
<!-- Footer -->
<div class="footer"></div>
</div>
</body>
</html>
这是路由
when('/', {
controller: OperatorController,
templateUrl: 'html/operator.html'
}).
when('/simReport', {
controller: SimReportController,
templateUrl: 'html/simReport.html'
}).
答案 0 :(得分:3)
我遇到了同样的问题。
这是因为当您直接加载页面而不是从应用程序内部的链接加载时,角度尚未加载,因此它是处理请求的服务器路由器,而不是角度。 如果您使用服务器来提供角度应用程序,则需要更新其路由器,以便任何应由角度处理的URL需要重定向到index.html(因此角度可以加载并执行路由)。 / p>
如果您使用grunt / yeoman加载角度应用程序,我可以使用更多详细信息编辑我的答案