我有一台安装了Apache的Linux服务器。我使用VirtualHost
在其中配置了两个网站。
我为两个不同的域名配置了两个VirtualHosts
。配置如下所示:
<VirtualHost 12.123.123.123>
ServerAdmin info@example-one.com
ServerName example-one.com
ServerAlias www.example-one.com
DocumentRoot /var/www/html/example-one
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost 12.123.123.123>
ServerAdmin info@example-two.com
ServerName example-two.com
ServerAlias www.example-two.com
DocumentRoot /var/www/html/example-two
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
当我访问我的网站example-one.com
时,我会看到正确的网站。
但是当我访问example-two.com
时,我会看到example-one.com
的网站。
我做错了什么?我正试图在同一个Apache服务器下托管这两个不同的网站。
答案 0 :(得分:1)
你的httpd配置文件中是否有NameVirtualHost
指令?
这应该有效。请注意,如果http请求与任何其他VirtualHost
块不匹配,则第一个VirtualHost
块是默认值。
供参考https://httpd.apache.org/docs/2.2/mod/core.html#namevirtualhost
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin info@example-one.com
ServerName example-one.com
ServerAlias www.example-one.com
DocumentRoot /var/www/html/example-one
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin info@example-two.com
ServerName example-two.com
ServerAlias www.example-two.com
DocumentRoot /var/www/html/example-two
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>