【问题标题】:Angular html5mode does not work as expectedAngular html5mode 无法按预期工作
【发布时间】:2015-10-23 07:57:20
【问题描述】:

在我的 Angular 应用中,所有 URL 都是这样的:

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 时,它会加载页面,然后在地址栏中将 URL 修改为 testsite.com/standard-page。但是,如果我直接输入“testsite.com/standard-page”,它会给我一个 404。

所以我快到了,只是还没有。有什么我可能忘记在这里做的想法吗?

【问题讨论】:

  • 您使用的是什么服务器?除了在 Angular 中启用 html5 模式之外,您还需要配置服务器

标签: javascript angularjs seo


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2017-07-19
    • 2018-01-17
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多