Apache Deny <location>但允许子位置

时间:2016-06-16 07:00:42

标签: apache mod-authz-host

我使用Apache2.2作为tomcat服务器的前端。我想限制对某个位置的访问,但是允许所有访问子位置但是遇到了一些麻烦。

我目前拥有的是:

<Location "/location/sub">  
    AllowOverride None  
    Order Allow,deny  
    Allow from All  
</Location>  

<Location "/location/">  
 AllowOverride None  
 Order Deny, Allow  
 Deny from All  
 Allow from 10.10.10.10   
</Location>

第二条规则似乎正在起作用,但正在覆盖第一条规则。

有谁知道我做错了什么或建议如何做到这一点?

由于

2 个答案:

答案 0 :(得分:1)

看起来我已经开始工作了。我按照Dusan的建议移动了规则的顺序,但它仍然无法正常工作。但是,删除

AllowOverride无  订单允许,拒绝

从规则似乎已经修复了它。

所以现在我有以下工作:

<Location "/location/">  
 AllowOverride None  
 Order Deny, Allow  
 Deny from All  
 Allow from 10.10.10.10   
</Location>

<Location "/location/sub">  
    Allow from All  
</Location>

答案 1 :(得分:0)

new_list = [name for name in my_list if name.endswith('.txt')] 指令按照它们出现在配置文件中的顺序进行处理,因此第二个规则优先。只需更改.conf文件中规则的顺序。