我正在使用AngularJS创建一个网站,我正在使用ngRoute模块来处理页面请求。
在我的app.config
函数中,我按如下方式设置了路由:
app.config(function($routeProvider, $locationProvider, $httpProvider){
$locationProvider.html5Mode(true);
$routeProvider.when('/', {
templateUrl: 'pages/index.html',
controller: 'mainController'
}).when('/testpage', {
templateUrl: 'pages/test.html',
controller: 'testController'
}).otherwise({
redirectTo: '/'
});
});
当我尝试访问测试页面时,在我的MAMP本地服务器上,通过在页面名称之前添加#
,如下所示:http://dev.mysite.com:8888/#testpage
一切正常。
但是,如果我不在页面名称之前添加#
,请执行以下操作:http://dev.mysite.com:8888/testpage
我收到404错误。
我已将<base href="/">
添加到包含<head>
代码的index.html页面的<div ng-view>
。
如果有人能解释我做错了什么,我将非常感激。
答案 0 :(得分:0)
Angular查找#符号来处理路由。 #符号后面的所有内容都由路由功能解释。没有#符号,没有角度路线。如果您可以在Html5模式下运行,那么您可以将其关闭,但要使用旧浏览器,则需要它。