Я настроил Apache 2.2 так, чтобы у меня было 2 хоста. Проблема в том, что когда я подключаюсь через второй хост, загружается тот, который используется по умолчанию.
Это файл vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin support@desytec.com
DocumentRoot /var/www/proyectos/mutual/contratos/web
ServerName contratos.mutual.dev
ErrorLog /etc/httpd/logs/mutual-contratos-error_log
<Directory "/var/www/proyectos/mutual/contratos/web">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin support@desytec.com
DocumentRoot /var/www/proyectos/spensiones/html
ServerName biotempo.spensiones.dev
ErrorLog /etc/httpd/logs/biotempo.spensiones.dev-error_log
<Directory "/var/www/proyectos/spensiones/html">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
И это результат команды "httpd -S":
[root@orahost conf.d]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443 localhost.localdomain (/etc/httpd/conf.d/ssl.conf:81)
*:80 is a NameVirtualHost
default server contratos.mutual.dev (/etc/httpd/conf.d/vhosts.conf:3)
port 80 namevhost contratos.mutual.dev (/etc/httpd/conf.d/vhosts.conf:3)
port 80 namevhost biotempo.spensiones.dev (/etc/httpd/conf.d/vhosts.conf:16)
Syntax OK
[root@orahost conf.d]#
Для проверки с удаленного компьютера я пытаюсь загрузить biotempo.spensiones.dev, но отображается сервер по умолчанию.
Любая помощь, пожалуйста?
Вы можете попробовать ниже. Я решил проблему, указав ниже в httpd.conf.
NameVirtualHost Server_IP_Address:80
<VirtualHost Server_IP_Address:80>
........
</VirtualHost>
Сообщите нам, если у вас по-прежнему возникают проблемы.
РЕДАКТИРОВАТЬ: ПРИМЕЧАНИЕ
Звездочки * соответствуют всем адресам, поэтому главный сервер не обслуживает запросы. В связи с тем, что виртуальный хост с ServerName Contratos.mutual.dev стоит первым в файле конфигурации, он имеет наивысший приоритет и может рассматриваться как сервер по умолчанию или как основной сервер. Это означает, что если получен запрос, который не соответствует одной из указанных директив ServerName, он будет обработан первым.
Вышеуказанная конфигурация - это то, что вы захотите использовать практически во всех ситуациях виртуального хостинга на основе имен. Единственное, для чего эта конфигурация фактически не работает, - это когда вы обслуживаете разный контент на основе разных IP-адресов или портов.
Вы можете заменить * конкретным IP-адресом в системе. Такие виртуальные хосты будут использоваться только для HTTP-запросов, полученных при подключении к указанному IP-адресу. Тем не менее, дополнительно полезно использовать * в системах, где IP-адрес непредсказуем - например, если у вас есть динамический IP-адрес у вашего интернет-провайдера, и вы используете несколько различных решений динамического DNS. Поскольку * соответствует любому IP-адресу, эта конфигурация будет работать без изменений при каждом изменении вашего IP-адреса.