我正在为我的应用程序使用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
)它不起作用,因为浏览器尝试访问来自/pages/js/2.js
而非/js/2.js
答案 0 :(得分:1)
好的,我刚发现它 - 我必须在webpack.mix.js文件中将公共路径设置为绝对路径:
mix.webpackConfig({
...
output: {
...
publicPath: "/"
}
});