我有以下路线配置:
app.config( function ($routeProvider, $locationProvider, $httpProvider) {
// Routes
$routeProvider.when('/admin', {
templateUrl : '/app/partials/dashboard.html',
controller : 'DashboardCtrl'
});
$routeProvider.when('/admin/settings', {
templateUrl : '/app/partials/settings.html',
controller : 'SettingsCtrl'
});
$routeProvider.when('/404', {
templateUrl : '/app/partials/404.html',
});
$routeProvider.otherwise({redirectTo: '/404'});
$locationProvider.html5Mode(true);
});
一切正常,但当我在/admin/settings
并重新加载页面时,它会重定向到404
。我尝试删除html5Mode,它的工作原理。但是,我真的想使用html5Mode。我错过了什么?请帮帮我。
哦,顺便说一下,我正在使用AngularJS 1.1.5。
答案 0 :(得分:1)
我有一个非常类似的错误,并通过将<base href='my_app_base_url'></base>
插入到我的index.html
页面中来解决它。这个想法来自这个GitHub问题(https://github.com/angular/angular.js/issues/2774)和另一个问题(https://github.com/angular/angular.js/issues/2868),以及我在评论中提到的问题。
答案 1 :(得分:0)
尝试$ location.path('/ 404')。replace();