Я добавил 2 виртуальных хоста в свой файл apache2 conf, как показано ниже:
<VirtualHost *:80>
DocumentRoot /var/www/html/site1
ServerName www.site1.com
ServerAlias site1.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/site2
ServerName www.site2.com
ServerAlias site2.com
</VirtualHost>
Затем я получил ошибку после перезапуска apache, я получаю:
[предупредить] дефолт VirtualHost перекрывается на 80-м порту, первый имеет приоритет
Искал в Google, и они сказали раскомментировать строку ниже, я так и сделал:
NameVirtualHost *:80
Перезагрузите, и теперь я не получаю ошибку, но оба сайта переходят на первый сайт.
под управлением Centos5. Как мне решить эту проблему?
Вы определенно хотите, чтобы NameVirtualHost раскомментировал. Это указывает вашему серверу на сервер различных виртуальных хостов на основе доменных имен, используемых для доступа к нему. Вот почему вы видите, что все запросы отправляются на первый сайт, когда он удален.
Я уже исправил эту проблему с помощью CWP
просто зайдите в /usr/local/apache/conf/sharedip.conf
проверьте это, поместите * на свой IP-сервер
NameVirtualHost *:80
<VirtualHost *:80>
ServerName yourdomainserver.ltd
DocumentRoot /usr/local/apache/htdocs
ServerAdmin root@youremail.com
<IfModule mod_suphp.c>
suPHP_UserGroup nobody nobody
</IfModule>
</VirtualHost>
<Directory "/">
AllowOverride All
Allow from all
Order Deny,Allow
</Directory>
затем перейдите в /usr/local/apache/conf.d/vhost.conf и убедитесь, что каждый виртуальный хост выглядит так
# vhost_start chango.com.ve
<VirtualHost *:80>
ServerName yourdomain.ltd
ServerAlias www.yourdomain.ltd
ServerAdmin youremail@yourdomain.ltd
DocumentRoot "/home/yourdomain/public_html"
ScriptAlias /cgi-bin/ "/home/yourdomain/public_html/cgi-bin/
#
# Custom settings are loaded below this line (if any exist)
# Include "/usr/local/apache/conf/userdata/yourdomain/yourdomain.ltd/*.conf
</VirtualHost>^M
# vhost_end yourdomain.ltd
это работает для меня!