我正在构建一个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
答案 0 :(得分:1)
您应该在应用的<base>
部分添加<head>
标记:
<base href="/app"/>
请参阅$location文档中的“相对链接”部分。
另见AngularJS subdirectory routing not working, with <base> tag applied