Cloudflare - CPanel - 跨主机名并行下载

Cloudflare - CPanel - Parallelize downloads across hostnames

我有一个使用 Cloudflare 的 wordpress 网站。所以基本上,我创建了一个 Cloudflare 帐户并设置了所有内容,包括更改名称服务器,以便该域首先通过 Cloudflare。

假设我的域名是 domain.com.

现在我有一个名为 temp.domain.com 的子域,我需要在其中跨主机名并行下载。

所有必要的 wordpress 代码(如下所示)已在 functions.php.

中准备就绪
function parallelize_hostnames($url, $id) {
     $hostname = par_get_hostname($url);
     $url =  str_replace(parse_url(get_bloginfo('url'), PHP_URL_HOST), $hostname, $url);
     return $url;
}

function par_get_hostname($name) {
    $subdomains = array('temp1.domain.com','temp2.domain.com', 'temp3.domain.com);
    $host = abs(crc32(basename($name)) % count($subdomains));
    $hostname = $subdomains[$host];
    return $hostname;
}

add_filter('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

所以在学习教程之后,我在 Cloudflare 中设置了 3 A 条记录,名为 temp1.domain.com, temp2.​​domain.comtemp3.domain.com 指向我服务器的 IP 地址。

然后在我的 CPanel 中,我设置了 3 个 CNAME 记录具有相同的 3 个名称,全部指向 temp.domain.com

等了一天多,现在当我访问 temp1.domain.com、temp2.​​domain.com 或 temp3.domain.com 时,我总是得到一个 hostgator 404 页面。

请问我做错了什么?这个设置有意义吗?

wordpress 代码正在运行,因为我可以在浏览器控制台中对此进行验证。但是,所有通过 temp1temp2temp3 的媒体请求都给出了 NOT FOUND 错误。

我通过以下方式解决了这个问题:

  1. 正在从 Cloudflare 中删除所有 A 记录并从 CPanel 中删除 cname 记录
  2. 在指向同一目录的 cpanel 中创建 3 个子域(temp1、temp2、temp3)(temp.domain.com)
  3. 在 Cloudflare 中重新创建了相关的 A 记录

那时一切都很顺利!我还被告知 CPanel 在某些方面与 Cloudflare 不完全兼容。