From a37abf0ce991e40f82b612ac425c9945899b7ba3 Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Tue, 21 Jun 2022 15:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=A1=B6=E7=BA=A7=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/core.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/public/core.php b/public/core.php index b49639b11..b8499d275 100755 --- a/public/core.php +++ b/public/core.php @@ -53,19 +53,29 @@ define('__MY_ROOT_PUBLIC__', defined('IS_ROOT_ACCESS') ? DS.$my_root.'public'.DS define('__MY_ADDR__', empty($_SERVER['SERVER_ADDR']) ? '' : $_SERVER['SERVER_ADDR']); // 主域名 -$main_domain = empty($_SERVER['HTTP_HOST']) ? '' : ((substr_count($_SERVER['HTTP_HOST'], '.') > 1 && !is_numeric(str_replace(['.', ':'], '', $_SERVER['HTTP_HOST']))) ? substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.')+1) : ''); -if(!empty($main_domain)) +if(empty($_SERVER['HTTP_HOST'])) { - $port_index = strpos($main_domain, ':'); - if($port_index !== false) + $main_domain = ''; +} else { + $main_domain = strtolower($_SERVER['HTTP_HOST']); + // 查看是几级域名 + $arr = explode('.', $main_domain); + $len = count($arr); + // 判断是否是双后缀 + $preg = '/[\w].+\.(com|net|org|gov|edu|ac|bj|sh|tj|cq|he|sn|sx|nm|ln|jl|hl|js|zj|ah|fj|jx|sd|ha|hb|hn|gd|gx|hi|sc|gz|yn)\.cn$/'; + if($len > 2 && preg_match($preg, $main_domain)) { - $main_domain = substr($main_domain, 0, $port_index); + // 双后缀取后3位 + $main_domain = $arr[$len-3].'.'.$arr[$len-2].'.'.$arr[$len-1]; + } else { + // 非双后缀取后两位 + $main_domain = $arr[$len-2].'.'.$arr[$len-1]; } } define('__MY_MAIN_DOMAIN__', $main_domain); // 项目HOST -define('__MY_HOST__', empty($_SERVER['HTTP_HOST']) ? '' : $_SERVER['HTTP_HOST']); +define('__MY_HOST__', empty($_SERVER['HTTP_HOST']) ? '' : strtolower($_SERVER['HTTP_HOST'])); // 项目HOST地址 define('__MY_DOMAIN__', empty($_SERVER['HTTP_HOST']) ? '' : __MY_HTTP__.'://'.__MY_HOST__.DS);