当我们直接在浏览器上输入Aurelia路线时,为什么它不起作用?我已将Aurelia配置为删除"#"来自网址。点击网站上的链接时效果很好,但是当我尝试直接在浏览器上输入网址时,它只适用于"#"。
情况就是这样:
使用网站链接
localhost /#/ route - >作品
localhost / route - >作品
在浏览器上输入
localhost /#/ route - >作品
localhost / route - >没有工作
这是我的配置:
configureRouter(config, router){
config.title = 'Dreampper';
router.baseUrl = "/";
config.options.pushState = true;
var navStrat = (instruction) => {
instruction.config.moduleId = instruction.fragment
instruction.config.href = instruction.fragment
}
config.map([
{ route: 'login', moduleId: './components/account/login', name: 'login', nav: true},
{ route: 'register', moduleId: './components/account/register', name: 'register'},
{ route: '', moduleId: './components/timeline/timeline', name: 'timeline', title: 'Timeline' },
{ route: 'welcome', moduleId: './components/account/welcome', name: 'welcome' },
{ route: ':username', moduleId: './components/profile/profile', name: 'profile', nav: false }
]);
this.router = router;
}
我在index.html上有<base href="/">
。
有人可以帮助我吗?
答案 0 :(得分:2)
PushState导航需要服务器端配置。您必须正确配置服务器。请参阅http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/7
上的第二个黄色框