在 apache 中托管两个不同的站点
Host two different sites in apache
我有一台安装了 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 服务器下托管这两个不同的网站。
您的 httpd 配置文件中是否有 NameVirtualHost
指令?
这应该有效。请注意,第一个 VirtualHost
块是默认块,以防 http 请求与任何其他 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>
我有一台安装了 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 服务器下托管这两个不同的网站。
您的 httpd 配置文件中是否有 NameVirtualHost
指令?
这应该有效。请注意,第一个 VirtualHost
块是默认块,以防 http 请求与任何其他 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>