如何在WAMPServer 3中实现请看本文结尾处
对于WampServer 2.5及之前的版本
WAMPServer是为单个开发者设计的工具。因此,默认情况下,Apache仅允许从运行服务器的PC即localhost或127.0.0.1或::1访问。
但由于它是完整版本的Apache,您只需要了解一点关于您使用的服务器的知识。
最简单(杀鸡焉用牛刀)的方法是使用“Put Online”wampmanager菜单选项。
left click wampmanager icon -> Put Online
然而,这告诉Apache它可以接受来自宇宙中任何IP地址的连接。只要您没有在路由器上端口转发端口80,或将来永远不会尝试这样做,这并不是问题。
更明智的方法是手动更改Apache访问安全性,编辑httpd.conf文件(再次使用wampmanager菜单)。
left click wampmanager icon -> Apache -> httpd.conf
这将在记事本中打开httpd.conf文件。
查找文件中的这个部分
<Directory "d:/wamp/www">
Options Indexes FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
</Directory>
假设你的本地网络子网使用地址范围192.168.0.?。
在Allow from localhost
之后添加此行。
Allow from 192.168.0
这将告诉Apache它可以从该子网上的任何IP地址访问。当然,您需要检查您的路由器是否设置为使用192.168.0范围。
这很容易通过从命令窗口输入此命令
ipconfig
并查看标记为
IPv4地址
的行来完成。然后,您使用其中看到的地址的前3个部分。
例如,如果您的地址看起来像这样:
IPv4 Address. . . . . . . . . . . : 192.168.2.11
你需要使用:
Allow from 192.168.2
适用于Apache 2.4用户的更新
当然,如果你正在使用Apache 2.4,则此语法已更改。
你应该替换掉所有这个部分:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
使用新的Apache 2.4语法,可以这样做:
Require local
Require ip 192.168.0
你不应该仅仅将这个添加到
httpd.conf
文件中,而是必须进行替换。
对于 WAMPServer 3 及以上版本
在 WAMPServer 3 中,默认情况下已定义了虚拟主机。因此,上述建议不起作用。您不再需要对 httpd.conf
文件进行任何修改。您应该将其保持原样。
相反,将服务器设置为 OFFLINE
,因为这个功能已经失效并不再起作用,这就是为什么 Online/Offline
菜单变成可选项并默认关闭的原因。
现在,您应该编辑 \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
文件。在 WAMPServer3.0.6 及以上版本中,实际上有一个菜单可以在您的编辑器中打开此文件。
left click wampmanager -> Apache -> httpd-vhost.conf
就像一直存在的那个编辑你的httpd.conf
文件的工具。
如果你没有添加自己的虚拟主机,它应该是这个样子的。
<VirtualHost *:80>
ServerName localhost
DocumentRoot c:/wamp/www
<Directory "c:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
现在,只需更改
Require
参数以适应您的需求。例如,如果您想从任何地方允许访问,请将
Require local
替换为:
Require all granted
如果您想更加具体和安全,只允许在您的子网内的IP地址访问,可以添加以下访问权限以允许任何位于您的子网中的电脑。
Require local
Require ip 192.168.1
或者更具体地说
Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
Allow from
已被弃用。根据我查阅的文档,替代方案是使用Require
。但是,我尝试了Require Host 192.168.1
和Require ip 192.168.1
,但无法通过网络访问! - KillABughttpd.conf
文件中我应该做什么? - chirag satapara