Apache/PHP: в любом случае, чтобы получить настройку ServerName через PHP

StackOverflow https://stackoverflow.com/questions/4834141

Вопрос

У меня есть виртуальный хост 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) Есть ли способ сделать это?

Это было полезно?

Решение

Видимо, когда вы получаете доступ к виртуальному хосту через псевдоним, нет никаких следов оригиналаSERVER_NAME в любом из $_SERVER переменные.

Единственная идея, которая приходит на ум, - это установление переменной среды:

SetEnv MY_HOST host1.example.com

это должно установить значение $_SERVER["MY_HOST"] к правильному имени хоста. Никаких гарантий, хотя я никогда не пробовал это на практике.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top