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

在Cloudways部署Shopify Remix模板应用遇首页访问问题求助

Shopify Remix应用Cloudways部署问题解决指南

问题根源

问题出在Cloudways默认生成的index.php文件优先级高于你的Remix应用路由。访问根路径/时,服务器会自动优先解析index.php,而非按.htaccess规则转发到Express服务,导致Remix路由找不到/index.php路径抛出错误。

解决步骤

1. 删除默认index.php文件

直接删除Cloudways创建应用时生成的index.php,从根源消除服务器对它的优先解析。

2. 优化.htaccess规则

如果删除文件后仍有问题,或者无法删除,更新.htaccess规则,拦截index.php请求并修正转发逻辑:

RewriteEngine On
RewriteBase /

# 将index.php请求重定向到根路径
RewriteRule ^index\.php$ / [R=301,L]

# 所有请求转发到Express服务
RewriteRule ^(.*)$ http://localhost:4007/$1 [P,L]

3. 补充Express路由兼容(可选)

若上述方法无效,在server.mjs中添加路由处理/index.php请求,强制重定向到根路径:

import { createRequestHandler } from "@remix-run/express";
import express from "express";
import * as build from "./build/index.js";

const port = process.env.PORT || 4007;
const app = express();

app.use(express.static("public"));

// 新增:处理index.php请求,重定向到根路径
app.get("/index.php", (req, res) => {
  res.redirect("/");
});

app.all("*", createRequestHandler({ build }));

app.listen(port, () => {
  console.log(`App listening on http://localhost:${port}`);
});

验证操作

  • 重启pm2服务:pm2 restart <你的应用进程名>
  • 重启Cloudways上的Web服务器(Apache/Nginx),确保配置生效

部署可行性说明

并非无法在Cloudways部署,只是其默认PHP栈会优先解析PHP文件,你需要调整配置绕过这一默认行为。如果Cloudways提供纯Node.js应用栈,建议切换到该栈,更适配Remix这类Node.js应用,避免PHP相关配置干扰。

备选方案

  • 检查Cloudways应用设置,是否有选项可禁用index.php自动解析
  • 若服务器使用Nginx,替换.htaccess为Nginx反向代理配置,直接将根路径指向Express服务,跳过PHP解析逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:22:46