<VirtualHost *:80> DocumentRoot "D:/Projects" ServerName 192.168.11.74 </VirtualHost>
为什么这不工作? 如何访问基于外部无法访问的公司内部networking分配的IP地址的本地网站(Windows,Apache,MySql,PHP)上的网站。 当笔记本电脑连接到内部networking时,所有的网站都可以工作,但是当公司networking之外,即使所有的基于代码的开发环境驻留在笔记本本身的本地Apache服务器上,这些基于IP的URL也不起作用。
有没有办法指向192.168.XX.XXX到127.0.0.1
将ServerName设置为localhost,如下所示:
ServerName localhost
然后通过访问服务器
http://localhost
不pipe你有什么IP。
首先你像这样设置VirtualHost:
<VirtualHost *:80> DocumentRoot "D:/Projects" ServerName projecthost </VirtualHost>
然后在Windows上,您可以随时设置“projecthost”将指向的IP。 编辑C:\ Windows \ system32 \ drivers \ etc \ hosts文件并添加:
projecthost 127.0.0.1
要么
projecthost 192.168.11.74
然后通过访问服务器
http://projecthost
如果你只打算使用一个虚拟主机,你可以使用Apache默认的虚拟主机。 请参阅: Apache默认虚拟主机
如果您正在托pipe多个虚拟主机,edvinas提供了答案。 为每个项目创build一个名称,然后在主机文件上创build一个名称为127.0.0.1的条目,该条目始终可用。
这不起作用,因为Apache的'ServerName'参数有效地说:如果您收到请求,请确保用户指定的URL具有192.168.11.74作为目标。 当您在公司networking之外并且没有使用该IP地址(因为您被分配了另一个IP地址),则您的请求将会:
如果你只需要一个网站(可能在这个阶段),我会build议删除ServerName行,因为它不能帮助你(由Manuel Sousa推荐),在本地使用127.0.0.1,当你使用的时候是192.168.11.74在你的工作networking上。
一个可能实现既定目标的次优方法的示例,您可以尝试将网卡configuration为在不工作时拥有附加的IP地址(192.168.11.74)。 挑战:
再次,我认为这种方法是一个坏主意,但你可以自己判断: http : //social.technet.microsoft.com/Forums/windows/en-US/691d5aa4-09a3-4390-856a-26c10d773a3b/how-到分配-differentmultiple-IP地址与网卡的networking卡?论坛= w7itpronetworking
你有什么其他的(另一个虚拟服务器,也许),在127.0.0.1听???
如果没有,你可以很好的编辑虚拟主机来解决所有在127.0.0.1接收的stream量
如果你尝试一个batch file来改变主机文件(C:\ Windows \ system32 \ drivers \ etc \ hosts),当你在networking之外,那么当你在里面的时候是另一个文件?
build立起来,当你在公司networking之外时,它增加了这一行:
192.168.11.74 127.0.0.1
然后,当你进入企业networking时,另一个评论它:
#192.168.11.74 127.0.0.1
或者只是简单地删除线也应该工作。
这样,可以保持完整的apacheconfiguration,只需在笔记本电脑上进行更改。
干杯!
您可以使用dynamicDNS服务来解决此问题,该服务允许您使用专用地址空间。 (例如,我知道dyn.com是这样做的,但我对他们的服务没有任何意见)
例如,你可以使用:
ServerName myapp-whatever.dyndns.org
在你的apache conf中运行一个更新客户端,它支持使用你的接口地址(而不是你检测到的公有IP,这是大多数人做的,但会为你打破)