基本上我有一個經典的虛擬主機使用:
ServerName www.site.com
ServerAlias site.com
我想始終$_SERVER['SERVER_NAME'] = 'www.site.com';
即使有人打開site.com
這可能嗎?
基本上我有一個經典的虛擬主機使用:
ServerName www.site.com
ServerAlias site.com
我想始終$_SERVER['SERVER_NAME'] = 'www.site.com';
即使有人打開site.com
這可能嗎?
沒有,PHP不知道什麼服務器名,ServerAlias等
正確的解決方案是配置你的服務器從你的所有別名域的主域名重定向。從SEO的角度來看,這也是一件好事。
你可以這樣做,例如使用mod_rewrite
:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteCond %{HTTP_HOST} (.+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
如果您有其他的域,只需設置爲它們單獨的虛擬主機會被重定向到主域:
<VirtualHost ...>
ServerName site2.com
ServerAlias *.site2.com
Redirect/http://www.site.com/
</VirtualHost>
它通常是最好的做法到www重定向到空域,或反之亦然。你可以通過添加這對你的.htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
這樣,site.com
會重定向到www.site.com
,而您只能看到www.site.com
在SERVER_NAME
變量。
總之......沒有。 – Amber 2012-03-30 22:20:00
@Amber如果使用htaccess轉發? – safarov 2012-03-30 22:22:10