很多站长朋友们都不太清楚php如何获得域名,今天小编就来给大家整理php如何获得域名,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP命令行模式下怎么获取域名 2、 PHP获取来路域名 3、 php如何获取301重定向前的域名 4、 php 获取当前域名并做出判断 5、 php怎样通过IP获取应对的域名? PHP命令行模式下怎么获取域名首先,我觉得你需要区分fpm和cli模式下,cli模式下是没有http中一些属性的,在cli模式下是获取不到域名的。
关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅,我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?
PHP获取来路域名$url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
$str = str_replace("http://","",$url); //去掉http://
$strdomain = explode("/",$str); // 以“/”分开成数组
$domain = $strdomain[0]; //取第一个“/”以前的字符
用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
$_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名
php如何获取301重定向前的域名首先找到你网站的入口文件,一般都是在根目录里的 index.php 这个文件,用编辑器打开它,在这里推荐您使用 Dreamweaver 这个软件,功能很强大的,如果您电脑上没有安装有这个软件,也可以使用记事本,这就是最简单的编辑器了。
打开了,在所有代码的最前面加上以下代码即可,当然,所指的最前面没有包涵 PHP 标识符,如果连这个都没有了,代码是无法运行的,因为它是 PHP 语言。
先上张图看看吧。
使用说明:
$getUrl= $_SERVER['SERVER_NAME'] 是获得当前输入的 url 地址,也就是说访问者在浏览器地址里输入的域名地址。
$jumpUrl 这个变量是要跳转到的 url 地址,也就是您网站的主域名。
如果您的网站是多个域名访问的,可以保留判断是否是主域名这段代码,如果你只有一个域名进行访问,可以把这一段删除即可,关于如何使用这段代码,在笔者贴上来的代码里有说明,按照说明进行修改就行了。
这些设置好了之后,进行保存,上传到您网站覆盖原来的 index.php 文件,这样,就做好了 301 跳转了。
笔者就拿 和 这两个域名来进行说明,当访问者在浏览器的地址栏输入 a测试数据 时,自动跳转到 ,当访问者在浏览器的地址栏输入 b测试数据 ,或者输入 时,自动跳转到 ?。
在这里使用到?$_SERVER['SERVER_NAME'] 的 PHP 系统函数获得传进来的域名 URL 。
PHP 里的?substr() 是用来截取字符串的一部分,应该会使用的吧,里面主要有三个参数,第一个参数是传进来的字符串,这个参数是必须的;第二个参数是从第几个开始截取,也是必须的;第三个是截多长的字符串,是可选的。
代码片段:
$getUrl= $_SERVER['SERVER_NAME'];// 获得当前输入的 url
$jumpUrl= 'Location:';// 要进行跳转的 url
if(substr($getUrl,0,4)!='HdhCmsTest'){// 判断 url 中是否带 www
redirect($jumpUrl);
}
if(substr($getUrl,0,1) == 'b' || substr($getUrl,4,1) == 'b'){// 判断是否是主域名
redirect($jumpUrl);
}
/* 如果有多个域名,可以继续添加
* 不想多解释,你应该明白的,
*/
// 跳转函数
function redirect($jumpUrl){
header('HTTP/1.1 301 Moved Permanently');
header($jumpUrl);// 301 跳转到设置的 url
exit();
}
php 获取当前域名并做出判断<?php
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== '')//这是我要以前的域名地址
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: '.$request_uri);//跳转到我的新域名地址
}
?>
php怎样通过IP获取应对的域名?域名是转向ip地址的,所以可以通过域名查ip。但是ip地址则直接转向对应的机器了,所以这个通过代码是无法查找对应的域名的。可以用函数根据域名获取IP $ip = gethostbyname();
关于php如何获得域名的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php如何获得域名 php获取当前域名函数的详细内容...