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

如何正确部署SolidJS应用到Netlify?解决非根路由崩溃问题

SolidJS部署Netlify路由问题解决方案

首先明确:用_redirects文件依然是解决这个问题的有效方式,SolidJS没有专属的特殊方案,核心是让Netlify把所有路由请求都转发到index.html,交由SolidJS的客户端路由接管。

下面分两种常见项目结构说明文件放置位置:

1. 基于SolidStart的项目

  • 直接在项目根目录新建public文件夹,把_redirects文件放进去。SolidStart构建时会自动将public目录下的文件打包到最终输出目录(默认是dist)。
  • 或者不用_redirects,直接在项目根目录创建netlify.toml文件,写入重定向规则,更便于版本控制:
    [[redirects]]
      from = "/*"
      to = "/index.html"
      status = 200
    

2. 基于Vite的纯SolidJS项目(非SolidStart)

  • 在项目根目录新建public文件夹,放入_redirects文件。Vite构建时会自动把public里的所有文件复制到dist目录的根路径下,Netlify就能识别到这个规则文件。
  • 同样可以用上面的netlify.toml配置替代_redirects文件。

_redirects文件的统一内容:

/*    /index.html   200

你之前放在client/dist没生效,是因为Netlify读取重定向规则时,需要_redirects文件位于发布目录的根路径(也就是你在Netlify后台配置的"发布目录",通常是dist),而非子文件夹内。只要确保构建后_redirects在dist根目录下,就能正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:55:20