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

Solid.JS部署Railway后刷新非根路径出现404问题求助

解决Solid.JS部署Railway后刷新非根路径404问题

问题核心

Solid.JS属于单页应用(SPA),前端路由逻辑在浏览器端处理。刷新或直接访问非根路径时,Railway上的http-server会尝试寻找对应物理文件,找不到就返回404。本地用-P代理参数能把请求转去根路径,但Railway的HTTPS环境下协议不匹配,且平台会自动管理证书,不需要手动配置。

最优解决方案:换用serve静态服务器

serve是专门适配SPA的静态文件服务器,默认会把所有非文件请求转发到index.html,直接解决404问题:

  1. 安装依赖:
npm install --save-dev serve
  1. 修改package.json的start命令:
"start": "serve -s dist"
  1. 重新部署到Railway即可,刷新或直接访问非根路径都能正常跳转。

若坚持使用http-server

Railway会自动处理SSL证书,服务器内部仍用HTTP通信,无需手动指定证书路径。只需调整代理参数指向内部HTTP地址:

修改start命令为:

"start": "npx http-server ./dist -p $PORT -P http://localhost:$PORT?"

$PORT是Railway自动分配的环境变量,确保端口与平台配置一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:44:58