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

访问页面http://xxx/xxx/index可以正常访问
但是访问http://xxx/xxx/index.html 就会跳到404
这个是怎么回事啊

:可不可以访问index.html也能进到首页

回答

首先,你的项目是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")
    },
以上是vue history模式下进入到index.html 404的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>