检测是否存在www子域

时间:2013-09-24 21:20:03

标签: php http web

我想检测进入我网站的用户是否已进入www子域名,这是最常见的,并且在这种情况下会将其重定向到www。基本上,如果用户输入mysite.com我需要将它们重定向到www.mysite.com,但我不知道如何仅使用PHP检测到这一点?我的$_SERVER数组不包含此类信息。这有可能吗?

2 个答案:

答案 0 :(得分:2)

你可以尝试使用Apache mod rewrite(把它放在.htaccess文件中)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

答案 1 :(得分:1)

更糟糕的解决方案是使用PHP:

if (substr($_SERVER['SERVER_NAME'], 0, 4) !== 'www.') {
  header('Location: http://www.' . $_SERVER['SERVER_NAME']);
  exit();
}

使用.htaccess:

从性能角度解决方案更好
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]