【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

(转载请注明原作者【雪原小狼】)

本文写于2019.01.22,用的是最新版的WampServer,64位版本


因为要用PHP配合MySQL进行后端数据模拟,所以大家一起搞了WampServer,除了我以外其他人都是用的老版本,但万万没想到的是老版本的坑一点都不多,倒是我这边装了最新版本各种出错调试才弄好,大大小小的问题搞了两三天,遇到的最恼人的问题有两个:

导航地址不正确

安装好后,可以正常启动服务(localhost可以正常进入),在想要浏览自己的目录文件时,地址栏里面一片空白导致根本无法访问自己的项目(如下图所示):

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

地址栏直接变成了我的文件夹名称,没有任何前缀

解决方法(两种):

第二种(这里倒叙):直接在localhost页面左下角的"Tools"中,找到"Add a Virtual Host"来添加一个VirtualHost,跳转到如下页面:

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

添加虚拟主机域名页面

填写好信息之后,点击"Start the creation of the VirtualHost (May take a while...)"按钮,然后按照提示Refresh DNS,退出并重启WampServer64,再进入localhost的时候我们就可以在右下角找到我们创建好的虚拟主机,点击就可以正常访问其定位的目录了。

 

第一种:

这种解决方案在网络上也能找到很多,大概的意思就是说:在"wamp64(安装目录)\www\"文件夹里面找到"index.php"文件,搜索"localhost"关键词,找到如下图所示的代码:

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

蓝圈中引导我们进入的地址,实际上是http://文件夹名:端口/,

将"http://"后面加上localhost,即最终是"http://localhost".$file.$UrlPort.'/"',其实大家可以看到,这样的话和else下面那一个URL字段非常相似,也就是说:我们只要更改字段,添加本地IP,让WampServer引导我们进入正确的本地文件夹,即可解决这个问题。

然而,事情远没有我想象的那么简单>.<!!!

的确,URL地址是没有错了,但当我需要让局域网的其他计算机访问我的服务器时,问题就来了。

如果我采用了添加虚拟主机的方法,那么其他计算机根本不能访问这个域名;而当我采用更改localhost前缀的方法,其他人的计算机点击了我的项目文件夹,就会被自动定位到"localhost/xxxxxxx"也就是URL直接定位到对方的本地IP下了,我的项目又不在对方的电脑里,怎么可能访问得到啦=。=

而且手动添加localhost,在主页还会有明显的警告(说是不建议直接添加localhost,而建议用Virtual Host):

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

蓝色字为警告内容

于是乎......

我对index.php开始了各种各样的分析:

还是上面的那张图,当变量$suppress_localhost值为false的时候,就会以"localhost:[port]/[folder]"的方式访问,而这一项的设置实际上是在安装目录下\wampmanager.conf这个文件里,找到如下图所示的"urlAddLocalhost"设置,将其改成"on",index.php中便会走else分支,添加localhost...

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

wampmanager.conf配置文件

还没完,即使是这种情况,问题依然存在,所以我的解决方法竟然是:

【踩坑】使用WampServer64时无法访问www文件夹,用虚拟VirtualHost又无法被他人在局域网访问的解决方案...

解决方法——添加自己的IP地址

把自己的局域网IP填上去就可以了喂!而且这样其他计算机再访问我的项目,目录前也会自动被加上我的IP地址,就可以正常访问了喂!!!而且也没有那个不舒服的警告了!

原来我一直把问题想象的太复杂了对么!!!

亏得我最后还是走投无路采用的这种方法,根本就不用我之前的那么多设置,而且本地也是可以正常访问的。

【怪,只怪我想太多】

最后感谢各位大大的观看(您已经在这篇文章上浪费了宝贵的时间嚯嚯嚯嚯!!)~

有问题可以随时与我交流,发现错误的话,也感谢看官大大们的指正哦(笔芯)w

 

文:雪原小狼