PHP域名重定向及SEO优化
现在越来越多的站长开始使用单独的ECS了,可能或多或少,放置的网站不止一个,像我比较懒,域名解析通常是用(*)泛解析,最近网站安装了证书,默认站点都跳至Https,无意间发现其他域名都重定向到了现在的博客,这对SEO可不是好事,如果开始改造301重定向的方法。
这需求说起来很奇怪,大致为以下几点:
一、开发是在本地,我通常会使用局域网IP访问,例如:192.168.31.233,127.0.0.1,所以数字地址忽略。
二、不带www的域名要301到带www的。
三、其他不相干的域名一律返回404。
四、判断是http还是https。
function transfer($url){ $thisurl = $_SERVER['HTTP_HOST']; $Parameters = $_SERVER['REQUEST_URI']; $number = str_replace('.', '', $thisurl); $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' :'http://'; if(!strstr($url, $http_type.$thisurl) && ! is_numeric($number)){ if(strstr($url, $thisurl)){ echo header("HTTP/1.1 301 Moved Permanently"); echo header("Location: ". $url . $Parameters); }else{ echo header("HTTP/1.1 404 Not Found"); echo header("Status: 404 Not Found"); } exit(); } }
使用方法:
transfer('https://www.xhbk.cn');
共 0 条评论