Cloudflare - CPanel - распараллеливать загрузку по именам хостов
У меня есть веб-сайт WordPress, который использует Cloudflare. В общем, я создал учетную запись 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);
Поэтому, следуя инструкции, я установил 3 записи A в Cloudflare с именами temp1.domain.com, temp2.domain.com и temp3.domain.com, чтобы они указывали на IP-адрес моего сервера.
Затем в моем CPanel я установил 3 записи CNAME с теми же тремя именами, которые все указывают на temp.domain.com
Ожидал больше суток, и теперь, когда я захожу на temp1.domain.com, temp2.domain.com или temp3.domain.com, я всегда получаю страницу hostgator 404.
Что я делаю не так, пожалуйста? Имеет ли эта настройка смысл?
Код WordPress работает, так как я мог проверить это в консоли браузера. Однако все медиа запросы через temp1, temp2 и temp3 выдают ошибку NOT FOUND.
1 ответ
Я решил эту проблему путем:
- Удаление всех записей A из Cloudflare и записей cname из CPanel
- Создание 3 поддоменов (temp1, temp2, temp3) в cpanel, указывающих на один и тот же каталог (temp.domain.com)
- Воссоздал соответствующие записи A в Cloudflare
Все работало как шарм тогда! Мне также сказали, что CPanel не полностью совместима с Cloudflare в определенных областях.