子比主题不兼容IPv6的终极解法|又拍云CDN配置指南

温馨提示:本文最后更新于2025-07-22 15:02:29,某些文章具有时效性,若有错误或已失效,请在下方留言

问题现象

  • 子比主题用户中心/内容评论获取不到位置信息

原因分析

  • 又拍云CDN开启IPv6优先解析
  • 子比主题服务器获取函数未适配IPv6

解决方案

方案一(推荐)

又拍云控制台提交工单关闭请求客户端IPv6返回,又拍云确实给力处理的也很快。

图片[1]-子比主题不兼容IPv6的终极解法|又拍云CDN配置指南-葫芦社区

方案二

编辑:/wp-content/themes/zibll/inc/functions/zib-tool.php 注释第414行(zib_get_remote_ip_addr 函数的return行),行后添加代码

// 处理可能包含多个IP的情况(如X-Forwarded-For)
    $ips = explode(',', $ip);
    $clean_ip = trim($ips[0]); // 取第一个IP
    
    // 使用PHP内置函数验证IPv4/IPv6
    if (filter_var($clean_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6)) {
        return $clean_ip;
    }
    
    // 备用正则匹配(支持IPv4和IPv6)
    if (preg_match('/^([\da-fA-F:\.]{7,})$/', $clean_ip, $matches)) {
        return $matches[0];
    }
    
    return '';

问题验证

根目录创建 test.php 文件,填入以下代码保存后访问:域名/test.php,返回IPv4即可

<?php
    $ip = $_SERVER["REMOTE_ADDR"];
    echo $ip;
?>

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容