wamp WAMP 403 Forbidden禁止访问

WAMP 403 Forbidden禁止访问

第一种情况

本机访问http://localhost没问题,换台机器远程访问http://192.168.1.x/ 就显示403错误,权限限制。

这个WAMP还真是不错,缺省安装是禁止非本地ip访问。

解决办法:

在C:\wamp下面找到apache配置文件httpd.conf 

搜索关键字 "deny from ",会发现一处 "deny from"下有一行"Allow from 127.0.0.1" ,然后将127.0.0.1修改为all即可,也就是"Allow from all"即允许任何人访问,重启apache 服务就可以允许外网访问了。

第二种情况

本机无法访问网站首页例如local.yueche.cn(首先绑定host)

解决办法

在C:\wamp下面找到apache配置文件httpd.conf
找到

<Directory />

  AllowOverride All
    OptionsNone
    Orderallow,deny
    Deny from all
</Directory>

将其改为

<Directory"c:/wamp/apache2/cgi-bin">

  AllowOverride All
    OptionsNone
    Orderallow,deny
    Allow from all
</Directory>

AllowOverride说明:通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override,即:

< Directory />
AllowOverride None
< /Directory>

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。

Orderallow,deny后面设置禁止和允许访问的ip

例:

按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All

如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。

解决方法:Order Allow,Deny,后面两句不动,即可。



发布了15 篇原创文章 · 获赞 3 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章