使用ui-router删除hash bang后页面刷新不起作用

时间:2017-04-25 09:00:34

标签: angularjs angular-ui-router

我是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删除#!

真的有可能吗?如果没有,请建议我任何可能的解决方案

0 个答案:

没有答案