【发布时间】:2016-07-07 00:16:17
【问题描述】:
我在我的 Angular 应用程序中使用 Angular UI 路由器,并且我启用了 HTML5 模式,通过在配置中使用 $locationProvider 来删除我的 URL 中的#。
angular.module('myApp', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/home.html',
controller:'HomeController'
})
.state('about', {
url: '/about',
templateUrl: 'views/about.html',
controller:''
})
.state('skills', {
url: '/skills',
templateUrl: 'views/skills.html',
controller: ''
})
.state('projects', {
url: '/projects',
templateUrl: 'views/projects.html',
controller: 'ProjectsController'
})
.state('contact', {
url: '/contact',
templateUrl: 'views/contact.html',
controller: ''
});
$locationProvider.html5Mode(true);
});
我也设置了
<base href="/">
index.html 文件中的标记也是如此。路由工作正常,我可以导航到页面并删除 # 但是当我使用浏览器上的重新加载按钮刷新页面时,我得到一个 404 错误页面。
我正在使用 Webstorm IDE 进行开发。有人可以为此提供解决方案吗?
【问题讨论】:
标签: javascript angularjs html url angular-ui-router