You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Vite/Vue项目中URL含句点导致的404问题?

Vite项目URI含句点返回404的原因与解决办法

这不是Vite的Bug,而是Vite与Webpack开发服务器的默认设计差异导致的:

  • Vite开发服务器默认会将包含句点的URI视为静态资源请求,直接去文件系统中查找对应文件,找不到就返回404。
  • Vue CLI+Webpack的devServer则默认对所有路由请求做SPA fallback,将非静态资源请求转发到index.html,适配单页应用的路由规则。

解决方法

1. 配置SPA路由Fallback(推荐)

在项目根目录的vite.config.ts中添加自定义的historyApiFallback规则,让带句点的路由请求也转发到index.html:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  server: {
    historyApiFallback: {
      rewrites: [
        // 匹配所有包含句点的路径,转发到index.html
        { from: /\./, to: '/index.html' }
      ]
    }
  }
})

2. 关闭文件系统严格校验(不推荐)

通过关闭Vite的文件系统严格检查,可以让Vite不对静态资源路径做严格校验,但这种方式存在安全风险,不建议在生产环境使用:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  server: {
    fs: {
      strict: false
    }
  }
})

生产环境注意事项

如果项目构建后部署到服务器,需要确保服务器配置了SPA fallback规则。比如使用Nginx时,要在配置中添加:

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

否则生产环境中带句点的路由依然会返回404。

内容的提问来源于stack exchange,提问作者Kano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 11:09:58