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

mod_userdir禁用是否会阻止cPanel服务器的localhost HTTP请求?

问题原因判断

你遇到的404错误确实是mod_userdir关闭导致的,但不要尝试开启mod_userdir,你服务器已启用的mod_ruid2和它存在架构冲突,同时启用会导致站点权限混乱,官方明确不支持该组合配置。

可行解决方案

方案1:请求时指定Host头(改代码即可,无需改服务器配置)

Apache的虚拟主机是通过请求头的Host字段匹配站点,你只需在原请求代码中加Host头指定目标站点的域名,就能通过127.0.0.1正常访问对应站点下的API:

$opts = array(
    'http' => array(
        'method' => "GET",
        'header' => "Host: 你站点绑定的域名\r\n" .
                    "Content-type: application/x-www-form-urlencoded\r\n"
    )
);
$file = file_get_contents("http://127.0.0.1/<public_html下的API路径>", false, stream_context_create($opts));

方案2:直接用域名发起请求

不用127.0.0.1,直接用目标站点的域名作为请求地址,为了避免请求走公网,可以在服务器/etc/hosts文件中添加一条记录,把域名绑定到本地IP:

127.0.0.1 你的域名 www.你的域名

方案3:本地文件调用(性能最优)

如果两个API属于同一个cPanel账号,完全不需要走HTTP请求,直接用绝对文件路径引入对应API文件即可,性能比HTTP请求高10倍以上:

require_once "/home/你的cPanel用户名/public_html/<API文件路径>";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:54:08