直接在浏览器上输入时路由不起作用

时间:2016-12-26 19:39:14

标签: aurelia aurelia-router aurelia-framework

当我们直接在浏览器上输入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="/">

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

PushState导航需要服务器端配置。您必须正确配置服务器。请参阅http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/7

上的第二个黄色框