Apache 的 order deny allow 设置说明

Apache 的 order deny allow 设置说明

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

所以。最常用的是:
Order Deny,Allow
Allow from All

注意“Deny,Allow”中间只有一个逗号。也只能有一个逗号。有空格都会出错;单词的大小写不限。

上面设定的含义是先设定“先检查禁止设定。没有禁止的全部允许”。而第二句没有Deny。也就是没有禁止访问的设定。直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置。开放所有内容的访问权。

按照上面的解释。下面的设定是无条件禁止访问:
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。后面两句不动。即可。

Order Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问。但是。虽然第二句中设定了allow规则。由于order中deny在后。所以会以第三句deny为准。而第三句的范围中又明显包含了ip1(all include ip1)。所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1

总结:Order Deny,Allow中。后一个是一定会被执行的(有相应的allow或deny语句时)。如果没有则按照语义分析。

分享到 :
相关推荐

宝塔Linux面板创建FTP连接服务器图文教程

宝塔Linux面板是款简单好用的服务器管理软件。大多数站长朋友们为了运维更高效。喜欢...

为什么需要给美国网站服务器配置SSL证书

需要给美国网站服务器配置SSL证书的原因:1。SSL证书能够在美国网站服务器进行数据...

Namecheap.digital域名怎么样(namecheap购买域名)

digital域名是通用顶级域名。英文有“数字”“数码”的意思。作为域名其表达的含义...

几款便宜HostEase香港服务器方案推荐(hostease怎么样)

使用香港服务器建站的优势愈发显现。所以当前香港服务器租用业务异常火爆。可谓是炙手可热...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注