我是ui-router的新手。
我写的状态如下:
angularApp.config(["$stateProvider", "$urlRouterProvider","$locationProvider", function ($stateProvider, $urlRouterProvider,$locationProvider) {
'use strict';
$locationProvider.html5Mode(true).hashPrefix('!');
$urlRouterProvider.otherwise("/page1");
$stateProvider.state('page1', {
url: '/page1',
templateUrl: '../Scripts/angular/views/page1.html',
controller: ''
})
.state('page2', {
url: '/page2',
templateUrl: '../Scripts/angular/views/page2.html',
controller: 'page2Ctrl',
})
}]);
通过使用html5Mode和hashPrefix我删除#!
如果我的网址为http://localhost:54321/#!/page1,则会显示为http://localhost:54321/page1
但是当我刷新页面时没有page1,它在服务器端出错。 有没有办法处理这种情况,当我刷新页面时,我需要检查包含page1的url并重定向到 http://localhost:54321/#!/page1,以便ui-router删除#!
真的有可能吗?如果没有,请建议我任何可能的解决方案