Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP—检查子域是否存在的有效方法_Php_Url_Subdomain - Fatal编程技术网

PHP—检查子域是否存在的有效方法

PHP—检查子域是否存在的有效方法,php,url,subdomain,Php,Url,Subdomain,可能重复: 我正在寻找一种有效的方法来判断URL中是否存在子域 域名将始终是固定的,例如mydomin.com,但是如果未设置子域,我需要重定向 我的一个想法是,如果有一个以上的句点(.),将设置一个子域,但我不确定如何实现它 非常感谢 编辑:很抱歉没有说得太清楚。我没有一个当前的解决方案,但在其他帖子中,我可以看到一些如何获得子域的例子,例如 array_shift(explode(".",$_SERVER['HTTP_HOST'])); 但是我不想要子域,只是为了检查是否存在子域。子域可

可能重复:

我正在寻找一种有效的方法来判断URL中是否存在子域

域名将始终是固定的,例如mydomin.com,但是如果未设置子域,我需要重定向

我的一个想法是,如果有一个以上的句点(.),将设置一个子域,但我不确定如何实现它

非常感谢

编辑:很抱歉没有说得太清楚。我没有一个当前的解决方案,但在其他帖子中,我可以看到一些如何获得子域的例子,例如

array_shift(explode(".",$_SERVER['HTTP_HOST']));

但是我不想要子域,只是为了检查是否存在子域。子域可以是任何内容。

我宁愿使用apache重写引擎(或任何Web服务器重写过程):

#.htaccess文件 重写cond%{HTTP_HOST}^yourdomin\.com$ 重写规则(.*)http://sub.yourdomin.com/$1[R=301,L]
您可以使用
parse\u url
获取主机名。然后用
explode()
将其分解:


在谷歌上,你可以很容易地找到如何重定向某人。

你已经有了一个低效的解决方案吗?通常,当程序员当前的解决方案不符合性能要求时,他们会询问一些有效的问题。那么,你现在的域名是什么?你现在做得怎么样?关于
“someDomainName.co.uk”
?我不会说它有子域。但是对于这个函数,这将返回
true
否?只需检查count()是否大于3,而不是2。我想这是更好的答案:不过还是谢谢你。 # .htaccess file RewriteCond %{HTTP_HOST} ^yourdomin\.com$ RewriteRule (.*) http://sub.yourdomin.com/$1 [R=301,L]
function hasSubdomain($url) {
    $parsed = parse_url($url);
    $exploded = explode('.', $parsed["host"]);
    return (count($exploded) > 2);
}