В первую очередь, жаль о моем несовершенном английском языке. Но позвольте мне объяснить свою проблему с апачским vhosts.
Пример: Моим именем сервера является example.de (/etc/hostname). Если я настрою для этого определенного домена, то мой vhost не будет работать. Это кажется апачским использованием значение-по-умолчанию-vhost. Но мне нужно значение-по-умолчанию-vhost для страниц, которые не активны на моем сервере. Таким образом, я не могу использовать его для домена example.de
Мне нужно решение для следующей проблемы:
Я не могу изменить свое имя хоста, потому что письма, отправленные от моего сервера, будут, обнаруживают как спам, если имя сервера правильно не установлено.
Вот пример моего vhost:
# For default-pages
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/default
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/default>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
# Doesn´t work, points to default (above code)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.de
DocumentRoot /var/www/example
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/example>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
# All fine
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example2.de
DocumentRoot /var/www/example2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/example2>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Согласно документация Apache :
, Если никакой ServerName не определяется, то сервер пытается вывести имя узла путем выполнения обратного поиска на IP-адресе.
Обратный поиск: Ищите IP-адрес для нахождения доменного имени для IP-адреса.
я предполагаю, что это - то, почему example.de
подается Вашим значением по умолчанию VirtualHost
, так попытайтесь добавить ServerName domain-i-got-but-not-active.de
, и если это VirtualHost
является определенным первым:
это имеет самый высокий приоритет, и могите рассматриваться как или основной сервер по умолчанию. Это означает, что, если запрос получен, который не соответствует одной из указанных директив ServerName, она будет подаваться этим первым VirtualHost.
<VirtualHost *:80>
DocumentRoot /var/www/example
DirectoryIndex index.php
ServerName example.de
setEnv DOMAIN_NAME example.de
<Directory "/var/www/example">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
попробуйте это