Angular JS深度链接$ routeProvider重新加载不起作用

时间:2013-07-05 09:34:26

标签: angularjs route-provider

我有以下路线配置:

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。

2 个答案:

答案 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();