我是Vue.js的新手,但谁能向我解释为什么这些路由无法按预期工作?
在本地开发模式下没有问题,但是当我部署到服务器时就出现了问题。运行npm run serve
,我可以访问auth/login
,但是在npm run build
之后,服务器会在auth/login
上返回404。该服务器是Digitial Ocean Ubuntu计算机,设置为git远程服务器,具有钩子,可以自动构建并服务dist
。
前往https://example.com/auth/login时得到404,但导航到https://example.com/address-records很好。似乎只有一个多于/
的深度才能返回404。
这是路由器代码
let router = new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
name: "home",
component: Home
},
{
path: "/auth/login",
name: "Login",
component: Login
},
{
path: "/address-records",
name: "Address",
component: Address
}
]
});
使用Nginx需要做些特别的事情吗?我使用类似的搜索问题进行设置。
location / {
try_files $uri $uri/ /index.html;
}
location @rewrites {
rewrite ^(.+)$ /index.html last;
}
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
# Some basic cache-control for static files to be sent to the browser
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}