在Angular UI路由器中使用Html5模式时页面重新加载失败

时间:2017-02-28 06:14:25

标签: angularjs angular-ui-router angularjs-routing

我遇到问题,我确实在#!的网址中删除了$locationProvider.html5Mode(true);。如果我切换到另一个页面,我检查了我的页面是好的。但是,如果我重新加载我的网页,例如http://example-page/threadhttp://example-page/answer。我的页面是404 not found。我不知道发生了什么。你知道吗 ?请给我解决方案。感谢。

我在配置

中使用html 5模式
$locationProvider.html5Mode(true);

这是我在index.html中的基础href

<base href="http://project/admin/">

我使用的是ui-sref

<li ui-sref-active="active">
                        <a ui-sref="home">
                            <i class="fa fa-home fa-3x" aria-hidden="true"></i>
                            <span class="title">Home</span>
                            <span class="selected"></span>
                        </a>
                    </li>
                    <li ui-sref-active="active">
                        <a ui-sref="thread">
                            <i class="fa fa-briefcase fa-3x" aria-hidden="true"></i>
                            <span class="title">Thread + Answer</span>
                            <span class="selected"></span>
                        </a>
                    </li>

这是我的配置

app.config(function(stateHelperProvider, $urlRouterProvider, $locationProvider) {

    $locationProvider.html5Mode(true);

    $urlRouterProvider.otherwise('/');

    stateHelperProvider        
        .state({
            name: 'home',
            url : '/',
            controller: 'admin-rv-controller',
            templateUrl: 'templates/home.html'
        })
        .state({
            name: 'thread',
            url : '/thread',
            controller: 'thread-controller',
            templateUrl: 'templates/table-thread.html',
        })
        .state({
            name: 'answer',
            url : '/answer/:id',
            params : {
                id  : null
            },
            controller: 'answer-controller',
            templateUrl: 'templates/table-answer.html'
        })
        .state({
            name: 'tag',
            url : '/tag',
            controller: 'list-tag-controller',
            templateUrl: 'templates/table-tag.html'
        })
        .state({
            name: 'form-tag',
            url : '/edit-tag/:id',
            params : {
                all : null,
                id  : null
            },
            controller: 'form-tag-controller',
            templateUrl: 'templates/form-tag.html'
        })
        .state({
            name: 'trending-tag',
            url : '/trending-tag',
            controller: 'list-trending-tag-controller',
            templateUrl: 'templates/table-trending-tag.html'
        })
        .state({
            name: 'form-trending-tag',
            url : '/edit-trending-tag/:id',
            params : {
                all : null,
                id  : null
            },
            controller: 'form-trending-tag-controller',
            templateUrl: 'templates/form-trending-tag.html'
        })
        .state({
            name: 'category',
            url : '/category',
            controller: 'list-category-controller',
            templateUrl: 'templates/table-category.html'
        })
        .state({
            name: 'form-category',
            url : '/edit-category/:id',
            params : {
                all : null,
                id  : null
            },
            controller: 'form-category-controller',
            templateUrl: 'templates/form-category.html'
        })
        .state({
            name: 'user',
            url : '/user',
            controller: 'user-controller',
            templateUrl: 'templates/table-user.html'
        });

0 个答案:

没有答案