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

发布于 / 系统运维 / 2 条评论

现象: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程序目录 找到文件

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

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

        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);
        }

将它们改为:

        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

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

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
转载原创文章请注明,转载自: 沧水的博客 » SaaS接入Cloudflare后WordPress插件失效解决方案
  1. Marco

    牛,这个问题我弄了15个小时!尝试了4种以上不同的方法,包括在config.php里添加内容、删除插件后重装,在CF删除站点再重新添加等,只有这个方法是有用的!还是中文内容区域的人靠谱

  2. OOpp

    修改成功