-3

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

4

2 回答 2

2

您可以使用 mod rewrite 尝试此操作Apache(将其放入.htaccess文件中)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
于 2013-09-24T21:22:33.437 回答
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]
于 2013-09-24T21:26:14.650 回答