wampServer通过路由器实现局域网访问
1、局域网中其他主机、设备访问wampServer搭建的网站,关键在于需处在同一网络中,或者说是处在同一个路由器之下,访问的地址不能指向外网,而是指向虚拟服务器主机,同时虚拟服务器允许这些IP设备的访问。这样基本就能实现。简单总结就是:
1. 同一网络环境。
2. 指向控制(让域名或者链接地址指向虚拟服务器主机而不是外网)——貌似专业点的说法是URL重定向。
3. 配置Apache 使其允许其他设备访问。
同一网络环境容易做到,难的是指向控制(由于.host在安卓系统、苹果手机系统中不容易修改,所以有人想到用笔记本电脑发射WIFI,然后手机连接WIFI从而达到手机访问的目的——虽手机不容易修改.host文件,但笔记本可以,只要通过笔记本的wifi来上网,自然就受到了笔记本配置的约束,会自动跳转到本地网站中,还有各种各样的方法,其实都是在做一件事情:控制跳转),其实路由器本身就是最简单的控制节点——而且可以约束任何接入它的设备,一劳永逸。
没有路由器的时候就呵呵了不是?是的,条条大路通罗马,咋们按需配置吧。(安装、新建虚拟主机的的部分我们就直接跳过了,想看的小伙伴可以戳下面的经验前往看看)。
1、1. httpd.conf 文件配置:
找到如下代码:
<Directory />
AllowOverride none
Require all denied
</Directory>
然后追加一条:
Require ip 192.168.0
(只是参考,具体还得根据自己的IP分配情况来定,你的可能是:192.168.1或者其他的,在终端运行ipconfig命令看一下结果就知道了)。
PS:Apache 2.4 以后使用 Require 来配置允许进入行为。
2、2. httpd-vhosts.conf 文件配置
这是虚拟服务器的配置项,找到如下的部分代码:
<Directory "xxxxxxxxxx指代xxxxx">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
追加一条:
Require ip 192.168.0
(只是参考,具体还得根据自己的IP分配情况来定,你的可能是:192.168.1或者其他的,在终端运行ipconfig命令看一下结果就知道了)。
结果为:
<Directory "d:/workspace/wampprojects/abc/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 192.168.0
</Directory>
PS: 有的都加上,基本上一个虚拟服务器就有一个这样的配置代码块。
3、上面的步骤完成之后,保存文件,点击“重新启动所有服务”即可。如果不出意外的话,图标变成绿色表示配置生效,如果wampServer图标没有变绿则说明配置有问题,那你就得自己检查下了。
1、登陆路由器管理页面,一般192.168.0.1具体根据自己的网络设置而定。不知道的可以看路由器的背面说明百度一下。
找到路由器的自定义Host工具——URL重定向功能(不同的路由去叫法不同,设置的位置不同)我以我的路由器为例子。功能扩展——>高级工具——>自定义HOST。
2、设置重定向
加上如下的代码:
192.168.0.2 xxx.xxx.xxx
ps: ip 是虚拟服务器的IP地址(要根据自己的情况来设置,并不是每个人的都相同), 后面的XXX是域名。有多个网站就写多条,ip不变,变的是域名或者URL。例如:
192.168.0.2 1.xxx.xxx
192.168.0.2 2.xxx.xxx/a/
192.168.0.2 3.xxx.xxx/hello/
这些应该都是可以的。
1、经过这样一番折腾,应该没有什么问题了,(没有路由器或者路由器不支持那就只能到处找找逛逛了)。这里做点对比吧:
1. 优点:
a. 解决手机、平板等不能修改.hosts文件达到URL重定向的问题。
b. 不用每台电脑都去修改.hosts文件。
c. 一变应万变,URL或者IP发生变化改一下就能解决问题。
D. 支持对域名形式站点的访问。
2. 缺点:
(自以为是的臆想,如果说得不对烦请纠正,没试过,有空大家自己折腾)
以IP地址作为虚拟机服务器名称的站点可能无法访问,因为用ip作为服务器名称,只能是127.x.y.z 的形式,而这种格式的url首先会经过自身系统,也就是直接被当前系统给拦截了,无法跳转到虚拟服务器(都还没来得及经过路由器就给K掉了)。只能说既想局域网多设备访问又用IP作为虚拟服务器名称——这是一个Bad idea!(这种情况可以用虚拟服务器的主机IP来访问)。
每新增一个站点可能都要进行一次配置(其他的方法应该也要经过这个过程),如果你足够腻害,可以直接修改wampServer的程序,让它在生成更新httpd-chosts文件的时候,直接把Require ip 192.168.0 这样的配置直接写进去,一劳永逸。不过路由器的部分还是得手动。