Apache / PHP:无论如何通过PHP检索ServerName设置

问题描述 投票:1回答:2

我有一个看起来像这样的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)。有什么办法吗?

php apache apache2 virtual-hosts
2个回答
3
投票
唯一想到的是设置环境变量:

SetEnv MY_HOST host1.example.com

这应将$_SERVER["MY_HOST"]的值设置为正确的主机名。但是,不能保证,我从未在实践中尝试过。


0
投票
$virtualhostname = substr($_SERVER['SERVER_ADMIN'], strpos($_SERVER['SERVER_ADMIN'], '@') + 1);
© www.soinside.com 2019 - 2024. All rights reserved.