Я пытаюсь настроить виртуальный хост на локальном веб-сервере. Я хочу, чтобы когда я перехожу на localhost или IP-адрес сервера, я хочу видеть страницу centos по умолчанию, а когда я перехожу на другие веб-сайты, которые настроены в / etc / hosts, я хочу чтобы увидеть эти сайты.
Это правильная конфигурация для данной настройки? Это не работает так, как я хочу ... потому что теперь все веб-сайты переходят на страницу centos по умолчанию, а это не то, что я хочу.
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@web1.com
DocumentRoot /var/www/html/
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@web1.com
DocumentRoot /var/www/vhost/web1.com/html/
ServerName web1.com
ErrorLog /var/www/vhost/web1.com/logs/error.log
CustomLog /var/www/vhost/web1.com/logs/access.log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@web2.com
DocumentRoot /var/www/vhost/web2.com/html/
ServerName web2.com
ErrorLog /var/www/vhost/web2.com/logs/error.log
CustomLog /var/www/vhost/web2.com/logs/access.log common
</VirtualHost>
Добавьте это к своему виртуальному хосту чуть ниже ServerName web1.com:
ServerAlias *.web1.com
Это ответ на комментарий в вашем вопросе, вы должны отредактировать вопрос, чтобы поместить в него этот вопрос.
Если вы настраиваете Apache на сервере Ubuntu, перейдите в /etc/apache2/sites-available/000-default.conf
файл и добавьте следующие строки:
<VirtualHost *:80>
ServerAdmin webmaster@web1.com
DocumentRoot /var/www/vhost/web1.com/html/
ServerName web1.com
ErrorLog /var/www/vhost/web1.com/logs/error.log
CustomLog /var/www/vhost/web1.com/logs/access.log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@web2.com
DocumentRoot /var/www/vhost/web2.com/html/
ServerName web2.com
ErrorLog /var/www/vhost/web2.com/logs/error.log
CustomLog /var/www/vhost/web2.com/logs/access.log common
</VirtualHost>
И добавьте следующие строки в файл хоста (/etc/hosts
) также:
127.0.1.1 web1.com
127.0.1.2 web2.com