2015-02-08 84 views
0

我有一台安装了Apache的Linux服务器。我使用VirtualHost在其中配置了两个站点。在apache中托管两个不同的站点

我为两个不同的域名配置了两个VirtualHosts。配置是这样的:

<VirtualHost 12.123.123.123> 
    ServerAdmin [email protected] 
    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 [email protected] 
    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服务器下托管这两个不同的网站。

回答

1

你的httpd配置文件中有没有NameVirtualHost指令?

这应该工作。请注意,如果http请求与任何其他VirtualHost块不匹配,则第一个VirtualHost块是默认块。

为了参考https://httpd.apache.org/docs/2.2/mod/core.html#namevirtualhost

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    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 [email protected] 
    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> 
相关问题