Apache 从两个域返回同一个站点

Apache 从两个域返回同一个站点

我在使用 Apache 时遇到了一个问题,似乎无法解决。

我有两个域,它们指向虚拟主机文件中的两个不同 DocumentRoot。但是,我无法使其正常工作,我试图添加的站点根本不会从第二个域显示,而是会显示第一个站点(据我所知,这是默认设置,这意味着我的第二个虚拟主机出了问题)。

我设法通过将我的新网站放在第一个虚拟主机之前来解决这个问题。这意味着新网站可以显示,但会被framesetapache 放入标签中,我无法控制标头。

在 Raspbian(Debian Linux)上运行 Apache 2.2.22

这是我现在的代码;

<VirtualHost *:80>
ServerName DIR0.com
ServerAlias www.DIR0.com

DocumentRoot /var/www/DIR0.com/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/DIR0.com/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/errors_DIR0.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access_DIR0.log combined

</VirtualHost>

<VirtualHost *:80>

    ServerName DIR1.com
    ServerAlias www.DIR1.com

DocumentRoot /var/www/DIR1/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/DIR1.com/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error_DIR1.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access_DIR1.log combined

</VirtualHost>

答案1

检查你是否已经设置

名称虚拟主机 *:80

在您的配置文件中。此指令允许使用 ServerName 作为 VirtualHost 的标识。如果缺少此指令,则使用 IP/端口作为 VirtualHost 的标识,这两个 VirtualHost 的标识相同。

相关内容