vue路由在history模式下,在非根目录下报404错误

解决方法

找到src/router/index.js 文件添加代码
export default new Router({
  mode: 'history', //修改部分
  base: '/dist',  //修改部分 如果你的次级文件夹名是dist 这里就配置dist
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/test.html',
      name: 'Hello',
      component: Hello
    }
  ]
})

如果你是Apache服务器,找到httpd.conf配置文件LoadModule rewrite_module modules/mod_rewrite.so这行代码去掉‘#’号 保存, 重启Apache

然后在你dist文件夹下新建.htaccess 加入下面代码,官网那个方法测试报错

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /dist/index.html [L]  //注意这个

如果你是nginx服务器 在跟目录下

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

不在跟目录下

location /your_router {
  try_files $uri $uri/ /your_router/index.html;
}
上一篇:[转帖]后端程序员不得不会的 Nginx 转发匹配规则


下一篇:Quantumult X 懒人规则