ServerAlias​​ influnces $ _ SERVER ['SERVER_NAME']?

基本上我有一个经典的虚拟主机使用:

ServerName www.site.com ServerAlias site.com

我想始终$_SERVER['SERVER_NAME'] = 'www.site.com';甚至当有人打开site.com

这是不可能性?

--------------解决方案-------------

不,PHP不知道服务器名称,ServerAlias​​等什么

正确的解决方案是配置你的服务器从你的所有别名域的主域名重定向。 这也是从搜索引擎优化的角度是好事。

您可以通过做如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.comSERVER_NAME变量。

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.338 (s). 9 q(s)