我有一个使用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.com , temp3.domain.com 指向我服务器的IP地址。
然后在我的CPanel中,我设置3个CNAME记录,其中3个名称都指向 temp.domain.com
等了一天多,现在当我访问temp1.domain.com,temp2.domain.com或temp3.domain.com时,我总是得到一个hostgator 404页面。
我做错了什么?这个设置有意义吗?
wordpress代码正常工作,因为我可以在浏览器控制台中验证这一点。但是,通过 temp1 , temp2 和 temp3 的所有媒体请求都会发出NOT FOUND错误。
答案 0 :(得分:0)
我通过以下方式解决了这个问题:
然后一切都像魅力一样!我还被告知,CPanel在某些领域与Cloudflare并不完全兼容。