2013-09-24 42 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,如果它讓你開心,我完全不介意:-) –