Angular html5mode无法正常工作

时间:2015-10-23 07:57:20

标签: javascript angularjs seo

在我的角度应用中,所有网址都是这样的:

testsite.com/#/standard-page

我希望他们像:

testsite.com/standard-page

我已经阅读了关于将html5mode添加到我的配置中的信息,我现在有了这个:

angular.module('myApp').config(['$stateProvider', '$urlRouterProvider', '$locationProvider', config]);

function config($stateProvider, $urlRouterProvider, $locationProvider) {
    $locationProvider.html5Mode(true);

    $stateProvider
        .state('index', {
            url: '/',
            templateUrl: siteInfo.templateRoot + '/startPage.html',
        })
        .state('standard-page', {
            resolve: {
                standardPageData: getStandardPageData
            },
            url: '/standard-page',
            templateUrl: siteInfo.templateRoot + '/standardPage.html',
            controller: 'StandardPageController',
            controllerAs: 'StandardPageCtrl'
        });
};

我将<base href="/">添加到我的头脑中,但它还没有按预期完成。

当我在浏览器中转到testsite.com/#/standard-page时会加载页面,然后会将地址栏中的网址修改为testsite.com/standard-page。但是,如果我直接输入``testsite.com / standard-page`,它会给我一个404。

所以我几乎就在那里,还没有。我可能忘记在这做什么想法?

1 个答案:

答案 0 :(得分:1)

Angular无法完成所有工作。当您编写testsite.com/standard-page时,您的服务器必须处理请求并正确响应。您的服务器回复404,因此您的浏览器无法显示任何内容。