SaaS接入Cloudflare后WordPress插件失效解决方案

现象:wordpress的Cloudflare插件报错:It looks like your domain 666.com is not provisioned with Cloudflare. Please continue to Cloudflare to secure and speed up your website.

问题原因就只是因为你当前站是SaaS方式接入的,没有在Cloudflare的常规接入列表中,所以只要欺骗插件的域名获取方式就可以解决

解决方案:

进入你的Wordpress程序目录 找到文件

1
/wp-content/plugins/cloudflare/src/WordPress/WordPressWrapper.php

打开文件,定位到这几行:

1
2
3
4
5
6
7
8
9
if (defined("CLOUDFLARE_DOMAIN") && CLOUDFLARE_DOMAIN != "") {
$site_url = idn_to_ascii(CLOUDFLARE_DOMAIN, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46);
} else {
$site_url = get_site_url();
}

if (function_exists('domain_mapping_siteurl')) {
$site_url = domain_mapping_siteurl($site_url);
}

将它们改为:

1
2
3
4
5
6
7
8
9
if (defined("CLOUDFLARE_DOMAIN") && CLOUDFLARE_DOMAIN != "") {
$site_url = "8888.com";
} else {
$site_url = "8888.com";
}

if (function_exists('domain_mapping_siteurl')) {
$site_url = "8888.com";
}

这个里面所修改的8888.com,意思就是假设你用的8888.com常规接入的CF,然后用8888.com开启SaaS后接入了你当前WP站点的域名,所以这个地方就填这个8888.com

问题解决,插件功能一切正常