2

我在我的计算机上设置了几个 VirtalHost。我想使用我的 comp 的 ip 地址从另一台 PC 访问我目前正在处理的站点,但是我尝试的每个配置都会将我带到不同的虚拟主机(实际上是我设置的第一个虚拟主机)我的补偿)。如何设置 apache 虚拟主机配置以确保 IP 地址将我带到我想要的站点。

/etc/apache2/sites-available/site-i-want-to-show-up-with-ip-address.conf 包含:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

ServerAlias currentsite.com

DocumentRoot /path/to/root/of/site-i-want-to-show-up
ServerName localhost

ScriptAlias /awstats/ /usr/lib/cgi-bin/

CustomLog /var/log/apache2/current-site-access.log combined
</VirtualHost>

并且 /etc/apache2/sites-available/site-that-keeps-showing-up.conf 包含:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerAlias theothersite.com
    DocumentRoot /path/to/it
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

</VirtualHost>

我会很感激任何人的帮助。

另外,我对配置web服务器不是很了解,上面的代码都是通过教程得到的。

4

3 回答 3

2

Apache 2.x 虚拟主机

1)在您的 VirtualHosts 部分之前,您需要这个:

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

2)每个部分都需要一个 DocumentRoot 和一个 ServerName 项:

<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here ...

</VirtualHost>
于 2010-04-28T01:24:40.747 回答
1

确保命名虚拟主机已打开。然后在另一台计算机上,您需要设置主机文件,以便在访问这两个域时它会转到服务器的 IP。

ip.addr.x.y currentsize.com
ip.addr.x.y theothersite.com
# ip.addr.x.y is the ip of the pc with apache, this file goes on your other pc

如果您想通过 IP 地址访问,则不能使用基于名称的虚拟主机,为此您需要多个 IP 并将每个虚拟主机设置为每个 IP,例如

<VirtualHost ip.addr.x.y:80>
# one of the two IP addresses bound to the pc with apache on it
</VirtualHost>

<VirtualHost ip.addr.x.z:80>
# the other of the two IP addresses bound to the pc with apache on it
</VirtualHost>

如果请求未指定名称,它将使用第一个配置的命名虚拟主机。

于 2010-04-28T01:28:46.450 回答
0

在 /etc/hosts 中也添加一个:

127.0.0.1 theothersite.com
于 2010-04-28T01:22:47.327 回答