我有一个看起来像这样的Apache虚拟主机:
<VirtualHost *:80>
ServerName host1.example.com
ServerAlias host2.example.com
DocumentRoot /srv/web/host1.example.com/pub
</VirtualHost>
我有以下文件:
/srv/web/host1.example.com/pub/test.php
我正在请求以下URL(注意,我正在使用ServerAlias
,而不是ServerName
:
http://host2.example.com/test.php
我想让test.php
以某种方式输出ServerName
变量(host1.example.com
)。有什么办法吗?
SetEnv MY_HOST host1.example.com
这应将$_SERVER["MY_HOST"]
的值设置为正确的主机名。但是,不能保证,我从未在实践中尝试过。
$virtualhostname = substr($_SERVER['SERVER_ADMIN'], strpos($_SERVER['SERVER_ADMIN'], '@') + 1);