vue history模式下进入到index.html 404

阅读 3.5k
3 个回答

首先,你的项目是vue的
那么,index和index.html分别代表的不同路由,一个对一个错当然是正常的

想要index.html也能访问的话你可以把router内添加对应的页面映射就行了,也就是说index和index.html指向同一component

服务器要配置,404 访问指向 index.html。如果是 nginx,用 try_files 即可:

location / {
    try_files $uri $uri/ /index.html$args;
}

首先需要说明的是,vue项目打包之后实际上生成的是单页面项目,顾名思义里面只有一个html文件。是为了减少静态文件的请求,减少服务器压力。
以往要加.html实际上是在服务器上面找到html文件并返回到客户端。
但是在vue项目当中不需要这么做,是根据路由的名字进行页面的切换的。根据router文件当中的path进行匹配来跳转的。
所以你要是想要index.html跳转效果和index一样,就得加个配置,path为index.html,重定向到index
如下例

    { path: "/index.html", redirect: { name: "index" } },
    {
      path: "/index",
      name: "index",
      component: () => import("@/views/index")
    },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题