我在子目录中有一个站点,例如root/sites/testsite/
,我希望php变量$_SERVER['DOCUMENT_ROOT']
是root/sites/testsite/
而不是root
,考虑到我在共享主机上,我该如何做到这一点?
提前感谢
$_SERVER['DOCUMENT_ROOT']
会自动设置为Apache VirtualHost
配置条目中配置的DocumentRoot
。这将是您域上URL /
指向的目录。
您需要更改代码以使用不同的变量来计算基本目录,例如配置文件中硬编码的变量。您还可以在.htaccess
文件中使用Apache SetEnv
指令来传递变量,例如SetEnv BaseDir root/sites/testsite/
会导致$_SERVER['BaseDir']
被设置为字符串"root/sites/testsite/"
。
或者,您可以在脚本开始时为变量分配一个新值,以便"伪造"其值(例如,如果使用依赖于此变量的第三方代码)。