【发布时间】:2018-04-04 10:14:13
【问题描述】:
我在我的应用程序中使用 laravel mix 和 vuejs,一切正常。
现在我尝试将 VueRouter 更改为历史模式:
const router = new VueRouter({
mode: 'history'
})
在 ngix 服务器上,我添加了 catch all 规则:
location / {
try_files $uri $uri/ /index.html;
}
因此,在访问或刷新“/pages”或“/contact”等顶级网址时,它仍然有效。
唯一的问题是像/pages/1 或/foo/bar/boo 这样的子级网址。单击路由器链接仍然有效,但如果我尝试刷新 /pages/1 上的页面或尝试直接访问它(在浏览器中输入 /pages/1)它不起作用,因为浏览器尝试从 @ 访问资产987654327@ 而不是 /js/2.js
【问题讨论】:
-
从你的 nginx 配置中的
/index.html中删除/。 -
这应该如何帮助(它没有,我试过了,只是为了确定)? ngix 按预期工作,只是客户端 url 错误
标签: vuejs2 laravel-mix