我正在使用AngularJs 1.4.8练习一个演示应用程序,后端作为核心php。我使用linux操作系统。我的app文件位于var / www / demo / ang /目录下。我需要的是,从网址中删除“#”哈希。我从互联网上找到了许多例子,但我得到的唯一最终结果是浏览器中没有显示任何内容。大多数方法都说要设置
<head>
<base href="/" />
</head>
或
<head>
<base href="/var/www/demo/ang/" />
</head>
app.config(function($routeProvider, $locationProvider)
{
$routeProvider
.when('/', {
templateUrl : 'index.html',
controller : indexController
})
.when('/about', {
templateUrl : 'about.html',
controller : aboutController
});
$locationProvider.html5Mode(true);
});
或
app.config(function($routeProvider, $locationProvider)
{
$routeProvider
.when('/', {
templateUrl : 'index.html',
controller : indexController
})
.when('/about', {
templateUrl : 'about.html',
controller : aboutController
});
$locationProvider.html5Mode(
{
enabled:true,
requireBase: false
});
});
甚至试过这个 $ locationProvider.html5Mode(true).hashPrefix('!'); 。我知道在某个地方我犯了一个错误或忘了添加一些东西。请帮助我完成这个
更新: 找到答案 https://www.formget.com/angularjs-remove-hashtag/
我犯了两个错误<base href=""/>
设置为绝对路径而不是url的相对路径。因此,提供相对路径http://www.siteame.com/
或http://localhost/path/to/angularjs_dir/
第二个错误是,我将包含所有脚本,ng-view等的主文件命名为index.html之外的其他名称。因此,将基本文件名称提供为index.html。
其他所有其他都是正确的。