Ahm*_*leh 52 php mysql apache wampserver
我知道很多次都会问过这个问题
我跟着互联网上的大多数答案但是我仍然得到同样的信息
403禁止
您无权访问此服务器上的/.
奇怪的是,当我使用同一台PC访问它时,localhost:1234它正常运行,但如果我使用我的IP地址访问192.168.0.188:1234
还有一点非常奇怪,我试图在其他PC上安装WAMP,没有任何配置,我可以访问该PC.
所以我认为这是因为迈克菲和防火墙因此我在Widows和McAfee上打开了端口而且没有任何改变,我也关闭了防火墙,但仍然没有任何变化.
然后我无缘无故地通过路由器"端口转发"打开端口,仍然没有任何改变.
我不认为这是因为我在WAMP中的配置,因为我仍然能够获得此403 Forbidden消息,并且通过使用其他PC而无需任何配置我可以访问它.
两台PC的设置如下:
Windows 8专业版
可访问的PC使用Microsoft Security Essentials.
无法访问的PC使用McAfee Internet Security.
我试图关闭WAMP并启动IIS For Microsoft Server(我可以在任何PC上完美运行)但是WAMP仍然没有工作
我按照这些教程:
Stack Overflow在这里回答:
Rig*_*lly 124
默认情况下,Wampserver配置为尽可能安全,因此Apache设置为仅允许从运行wamp的计算机进行访问.毕竟它应该是一个开发服务器,而不是一个实时服务器.
此外,WAMPServer 2.4发布了一个小错误,它使用旧的Apache 2.2语法而不是新的Apache 2.4语法来访问权限.
您需要更改Apache上的安全设置以允许从其他任何位置进行访问,因此请编辑您的httpd.conf文件.
更改此部分:
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
Run Code Online (Sandbox Code Playgroud)
至 :
# onlineoffline tag - don't remove
Require local
Require ip 192.168.0
Run Code Online (Sandbox Code Playgroud)
将Require local允许来自这些IP的访问127.0.0.1 & localhost & ::1.
该语句Require ip 192.168.0允许您从内部网络上的任何IP访问Apache服务器.此外,它将允许使用服务器机器从服务器计算机访问实际IP地址,正如您尝试的那样.
在WAMPServer的版本3和>中,预先定义了一个虚拟主机,localhost因此您必须在虚拟主机定义配置文件中进行访问权限.
首先不要修改httpd.conf文件,保留它,因为你发现它.
使用菜单编辑httpd-vhosts.conf文件.
它应该如下所示:
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
修改它
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
希望您将为您的项目创建一个虚拟主机,而不是使用wamp\www您网站的文件夹.在这种情况下,请单独保留localhost定义,并仅对您的虚拟主机进行更改.
不要忘记在进行此更改后重新启动Apache
小智 26
对于Apache 2.4.9
另外,查看C:\ wamp\bin\apache\apache2.4.9\conf\extra 中的httpd-vhosts.conf文件
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
改成:
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
从"Require local " 更改为"Require all granted "解决了我本地网络中的错误403
小智 17
我从这里得到了这个答案.它对我有用
Require local
Run Code Online (Sandbox Code Playgroud)
改成
Require all granted
Order Deny,Allow
Allow from all
Run Code Online (Sandbox Code Playgroud)
要扩展RiggsFolly的答案 - 或者对于面临同样问题但使用Apache 2.2或更低版本的任何人 - 这种格式应该运行良好:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from localhost
Allow from 192.168
Allow from 10
Satisfy Any
Run Code Online (Sandbox Code Playgroud)
有关Apache 2.4格式更改的更多详细信息,从2.4页面官方升级到2.2非常简洁明了.关键点是:
应使用新的身份验证机制替换旧的访问控制习惯用法,但为了与旧配置兼容,
mod_access_compat提供了新模块.
这意味着,世界各地的系统管理员不一定要害怕将Apache 2.2配置改为2.4兼容.
| 归档时间: |
|
| 查看次数: |
114846 次 |
| 最近记录: |