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);
}