AngularJS URL使用$ locationProvider.html5Mode进行转义(true)

时间:2013-11-19 10:38:40

标签: javascript angularjs

我正在构建一个AngularJS应用程序,它适用于哈希URL。 如果我点击锚点<a href="#/3125/">,则会将网址更新为所需的http://localhost:8000/app/index.html#/3125/

现在我计划将URL更改为HTML5模式,因此我使用以下代码

配置了应用程序
var demoApp = angular.module('demoApp', ['demoResources']);
    demoApp.config(['$locationProvider', function($locationProvider) {
        $locationProvider.html5Mode(true);
}]);

不幸的是,这次如果我点击同一个锚点,我会将URL转义为http://localhost:8000/app/index.html#%2F3125%2F,因此链接已被破坏。但是,预期的网址为http://localhost:8000/app/index.html/3125

有谁知道为什么这不起作用?我正在使用Angular 1.2.1

1 个答案:

答案 0 :(得分:1)

您应该在应用的<base>部分添加<head>标记:

<base href="/app"/>

请参阅$location文档中的“相对链接”部分。

另见AngularJS subdirectory routing not working, with <base> tag applied