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

Svelte+Vite项目用page.js路由部署Netlify后404问题求助

解决Svelte+page.js路由在Netlify部署后404的问题

问题核心是前端SPA路由与Netlify静态文件服务的默认行为冲突:

  • 本地开发时,Vite开发服务器会把所有路由请求转发到index.html,交由前端路由处理;
  • 部署到Netlify后,服务器收到/county/Colusa这类请求时,会直接查找对应路径的静态文件,找不到就返回404,不会交给前端路由处理。

解决步骤:

方法1:添加_redirects配置文件

在项目根目录创建名为_redirects的无后缀文件,写入以下内容:

/*    /index.html   200

该规则会让Netlify把所有路径的请求都转发到index.html,由你的page.js前端路由处理。

方法2:使用netlify.toml配置(支持复杂规则)

若需更灵活的路由配置,可在项目根目录创建netlify.toml文件,添加重写规则:

[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

额外检查:Vite的base配置

如果站点部署在Netlify的子路径下(非根域名),需在vite.config.js/ts中设置base参数:

import { defineConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';

export default defineConfig({
  plugins: [svelte()],
  base: '/your-subpath/' // 替换为实际子路径
});

完成配置后,重新执行npm run build再部署到Netlify,即可解决直接访问路由页面或下拉菜单跳转的404问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:10:30