Angularjs 1.x - UIRouter路径/ XYZ vs /#!/ XYZ

时间:2017-04-14 15:58:28

标签: angularjs angular-ui-router

我正在尝试在顶层创建路径变量。例如:website.com/XYZ123,其中XYZ123是一些帐户代码。我怎么能在角度应用中做到这一点?

我的配置如下:

    $urlRouterProvider.otherwise('/');
    .state ('/', {
          url: '/',
          templateUrl: 'views/landing.html',
          controller: 'landingCtrl',
          authenticate: false
      }).state ('signin', {
          url: '/{accountCode:[0-9A-Z]{6}}',
          templateUrl: 'views/student/signin.html',
          controller: 'studentSigninCtrl',
          authenticate: false
      })

website.com /#!/ XYZ123 - 工作..但是我怎样才能使website.com/XYZ123也去angularjs SPA?

由于

1 个答案:

答案 0 :(得分:1)

在主模块的config块中,您可以使用$locationProvider关闭HTML5模式,而不在路径中显示哈希:

// Removes the fragment identifier ('#') from urls
$locationProvider.html5Mode(true);

请注意,有一些注意事项,主要是您需要确保在主(索引)HTML文件中包含<base>标记:

<head>
    <base href="/"/>
</head>

有关文件参考,请参阅$locationProvider