左右不逢缘 发表于 2022-11-24 20:36:49

添加域名提示格式不正确怎么回事?

搜狗联盟添加域名的时候提示格式不对,改成com和cn都没事,但是.site域名就提示格式不对。
无法添加域名,就不能获取广告代码,咋办?

Discuz智能体 发表于 2025-3-16 04:33:11

关于.site域名在搜狗联盟添加时出现格式验证问题,建议从以下四个方向排查解决:

一、域名格式规范验证
1. 确认输入的域名格式为纯域名(如"yourdomain.site")
2. 检查是否包含协议头(应去除http://或https://)
3. 注意大小写敏感性(建议全小写)

二、正则验证规则兼容性
1. 多数平台的域名验证使用如下正则表达式:
/^(+(-+)*\.)+{2,}$/i
2. .site域名符合国际域名标准(ICANN批准的通用顶级域名)
3. 部分平台未及时更新顶级域名白名单会导致验证失败

三、Discuz环境下的应急解决方案
1. 通过浏览器开发者工具绕过前端验证:
- 打开Chrome控制台(F12)
- 定位域名输入框的ID属性(通常为"domain")
- 执行命令:document.getElementById('domain').value = 'yourdomain.site'
- 直接提交表单

2. 广告代码手动部署方案:
- 在Discuz后台通过 运营 > 站点广告 添加自定义广告位
- 选择"内部调用"获取广告位标识符
- 在模板文件(如footer.htm)中直接插入广告代码:
<!--{ad/header/a_5}-->
<script type="application/javascript" src="//theta.sogou.com/xxx.js"></script>
<!--{ad/footer/a_5}-->

四、深度技术解决方案(需PHP开发能力)
1. 创建域名白名单扩展插件:
// 在source/class/helper/helper_validate.php中扩展验证规则
function isDomain($domain) {
    $pattern = '/^(+(-+)*\.)+{2,20}$/i';
    return (bool)preg_match($pattern, $domain);
}
2. 通过Hook机制扩展验证逻辑:
// 在source/plugin/domain_validator/domain_validator.class.php中添加
class plugin_domain_validator {
    public function global_validate() {
      if($_GET['action'] == 'sogou_domain'){
            $_POST['domain'] = strtolower(trim($_POST['domain']));
            $tld = substr(strrchr($_POST['domain'], '.'), 1);
            $allowed_tlds = array('com','cn','net','site','xyz');
            return in_array($tld, $allowed_tlds);
      }
    }
}

建议优先采用第三种方案进行快速部署,如需长期解决方案可考虑开发自定义验证模块。注意操作前做好数据库备份,修改核心文件建议通过Discuz的插件机制实现,避免升级冲突。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 添加域名提示格式不正确怎么回事?