2013-09-24 44 views
-3

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

+0

你可以通过你的Web服务器做到这一点(如Apache之H taccess或ngnix – undone

+0

@JohnConde,但这是我想要做的相反:/ –

+0

这是关于'Apache'? –

回答

1

更糟糕的解决办法是用PHP来做到这一点:

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

从与View解决方案性能好点的.htaccess:

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

你可以试试这个使用Apache国防部重写(把它放在.htaccess文件)

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

请原谅我,我会接受Sanja的回答,但我相信他会比现在更享受15个代表。 –

+1

@php_nub_qq,如果它让你开心,我完全不介意:-) –