我有以下路线:
/**
* General app route
*/
angular
.module('app')
.config(config);
config.$inject = ['$routeProvider', '$locationProvider'];
function config($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'partials/index.html',
controller: 'ImageController'
})
.when('/category/:name', {
templateUrl: 'partials/index.html',
controller: 'CategoryController',
})
.when('/404', {
templateUrl: 'partials/404.html'
})
.otherwise({ redirectTo: '/404' });
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
}
当我尝试从基本路由访问类别路由时,它工作正常,但是当我在类别路由上重新加载页面时,它尝试通过类别路径而不是基本路径访问资产文件。 我该如何解决?
答案 0 :(得分:1)
我通过将base
标记添加到index.html
<head>
<base href="/index.html">
</head>
答案 1 :(得分:0)
一种方法是禁用HTML5模式
$locationProvider.html5Mode({
// enabled: true,
requireBase: false
});
其他方法是确保服务器端路由返回正确的HTML文件。
答案 2 :(得分:0)
您已激活html5模式,为此您需要将所有流量重定向到index.html
有关详细信息,请参阅html5模式部分https://docs.angularjs.org/guide/ $ location