GoDaddy和HostDomainZone主机上多站点的根目录问题

by 北山 .

Host Domain ZoneGodaddy美国主机商GoDaddy和HostDomainZone的主机方案 Deluxe Plan 和 Unlimited Plan 都可以支持创建多个站点,可以将不同的域名对应到不同的目录。

GoDaddy和HostDomainZone的Linux主机多站点和其他的cPanel等控制面板的多站点以及平常所用的VHOST创建的多站点不同,这一点可以用 php 的 phpinfo() 返回结果看到。

一般在 PHP 的 $_SERVER[“DOCUMENT_ROOT”] 中存放的是网站的根目录。

但是GoDaddy和HostDomainZone的主机上就不同,$_SERVER[“DOCUMENT_ROOT”] 存放的是主域名对应的根目录,附加域名的网站对应的目录存放在 $_SERVER[“SUBDOMAIN_DOCUMENT_ROOT”] 中。

所以如果附加域名网站的PHP代码中使用了 $_SERVER[“DOCUMENT_ROOT”] 的话,就会出现问题,找不到文件或者使用的是错误的文件。

解决的办法非常简单,在文件的开始加上下面的代码即可:

if (isset($_SERVER[“SUBDOMAIN_DOCUMENT_ROOT”]))
{
$_SERVER[“DOCUMENT_ROOT”] = $_SERVER[“SUBDOMAIN_DOCUMENT_ROOT”];
}

GoDaddy官方网站:GoDaddy.com

HostDomainZone官方网站:HostDomainZone.com