如何通过IP访问配置了多个站点的WAMP中的不同站点

14 浏览
0 Comments

如何通过IP访问配置了多个站点的WAMP中的不同站点

我正在使用wamp进行本地开发,并且已经配置了环境以处理多个站点,但我想使用IP地址访问特定的站点,我不知道在127.0.0.1之后是否需要添加端口号。

以下是我的主机设置。

127.0.0.1       localhost
127.0.0.1       www.site1.net
127.0.0.1       www.site3.com

还有虚拟主机设置。

ServerAdmin www.site1.net

DocumentRoot "c:/wamp/site1/"

ServerName www.site1.net

ServerAlias www.site1.net

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

ServerAdmin www.site2.com

DocumentRoot "c:/wamp/site2/"

ServerName www.site2.com

ServerAlias www.site2.com

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

问题

当我在地址栏中输入127.0.0.1时,它转到site1,我不知道如何使用IP访问site2。

为什么我想这样做。

因为当我尝试从同一网络中的另一台设备访问这些站点时,除非我使用此IP:172.20.10.4,否则它们无法工作,这是在iPhone上,这个IP指向localhost,即site1,然后我无法访问site2。

但是在运行wamp的计算机上,只有www.site.net或www.site2.com可以正常工作。

编辑。这是我尝试过的。

我在httpd.confi的“listen”部分添加了一些端口;

Listen *:80

Listen *:8182

Listen *:8383

并更改了htttpd-vhosts;

ServerAdmin localhost

DocumentRoot "c:/wamp/"

ServerName localhost

ServerAlias localhost

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

ServerAdmin www.site1.net

DocumentRoot "c:/wamp/site1/"

ServerName www.site1.net

ServerAlias www.site1.net

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

ServerAdmin www.site2.com

DocumentRoot "c:/wamp/site2/"

ServerName www.site2.com

ServerAlias www.site2.com

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

这对设备有效,比如在iPhone上,我可以拨号172.20.10.4:8181,它会转到site1,而8182会转到site2。

新问题

现在站点的URL混乱了,我只能通过带有端口的IP访问这些站点,而不能通过它们的域名访问,所以在本地机器上,127.0.0.1:8181转到site1,但www.site1.net找不到这个站点所在的服务器目录。

0
0 Comments

如何通过使用ip访问wamp配置的多个站点中的不同站点

在使用ip地址(来自网络上的另一台计算机)而不是像www.site2.com这样的url时,Apache将不知道应该运行哪个站点,因此它总是选择在VHost定义文件中找到的第一个站点,并将连接发送到那里。

因此,如果您想要从内部网络上的其他计算机访问您的站点,则需要运行自己的DNS服务器(有点复杂),或者在每台其他计算机上设置它们的HOSTS文件以了解您的2个站点,如下所示。

在其他PC上的HOSTS文件上假设您的WAMP服务器运行在192.168.1.10上

192.168.1.10 www.site1.net

192.168.1.10 www.site2.com

现在这些其他PC可以使用正确的网址,即www.site1.net或www.site2.com,Apache服务器将知道将连接发送到哪个站点。

现在我想你提到了一个手机。这有点复杂,因为您无法在手机上访问HOSTS文件(如果您已经越狱,可能可以)。

所以对于这个问题,我使用了一个解决方法。

我使用Fiddler,它是一个查看浏览器和服务器之间传输的工具,但也可以将其用作代理。

基本上,您将其设置为在某个端口(比如8888)上监听连接,然后在其现有脚本中添加一行,告诉它在看到8888上的连接时转到特定的url,因此您可以在手机上使用像192.168.1.10:8888这样的url来访问site1.net,然后更改脚本,使其转到site2.com。

这有点复杂,但对我有用。

第二个问题的答案

您没有提到您使用的WampServer或Apache的版本,所以我在新行中添加了一个版本的测试。

您在虚拟主机定义中犯了一些错误。以下是更正。

ServerAdmin me.net

DocumentRoot "c:/wamp/www"

ServerName localhost

ServerAlias localhost

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

AllowOverride All

Require local

Require ip 192.168.2 <- 更改为您的子网前3个四分位

Order Deny,Allow

Deny from all

Allow from 127.0.0.1 localhost ::1

Allow from 192.168.2 <- 同上

ServerAdmin me.net

DocumentRoot "c:/wamp/www/site1"

ServerName www.site1.net

ServerAlias site1.net

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

AllowOverride All

Require local

Require ip 192.168.2 <- 更改为您的子网前3个四分位

Order Deny,Allow

Deny from all

Allow from 127.0.0.1 localhost ::1

Allow from 192.168.2 <- 同上

ServerAdmin me.com

DocumentRoot "c:/wamp/www/site2"

ServerName www.site2.com

ServerAlias site2.com

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" common

AllowOverride All

Require local

Require ip 192.168.2 <- 更改为您的子网前3个四分位

Order Deny,Allow

Deny from all

Allow from 127.0.0.1 localhost ::1

Allow from 192.168.2 <- 同上

基本上,您需要告诉每个Apache哪些IP可以访问每个虚拟主机的文件夹。

因此,如果您愿意,您可以保留修改后的端口,但保留...部分。

还要检查您的HOSTS文件,您在提问时可能是一个打字错误,但您已经说您的hosts文件如下所示

127.0.0.1 localhost

127.0.0.1 www.site1.net

127.0.0.1 www.site3.com

应该是这样的:

127.0.0.1 localhost

127.0.0.1 www.site1.net

127.0.0.1 www.site2.com

不错,我也注意到它选择了第一个,所以我将我想要测试的一个移到列表的顶部,哈哈,还有一个当我想要它时的另一个,多么烦人,但请看我对一些东西的修改,但是又出现了一个新问题。

0
0 Comments

在配置了多个站点的WAMP中,如果要访问不同的站点,需要使用不同的IP地址。如果使用相同的服务器IP地址或相同的服务器名称,会导致混乱。每台计算机都有唯一的IP地址,所以要提供正确的IP地址,并且不要重复项目的站点名称。例如,如果站点1的IP地址是192.168.1.1,那么站点2的IP地址应该是192.168.1.100。127.0.0.1只代表一个服务器IP和一个站点名称。请注意这些差异,因为在同一个地址中调用两个人可能会导致只有一个人同时出现,而你期望有两个人同时出现。谢谢!

0