2013-02-08 45 views
1

我试图从Apache 2.2迁移到2.4。我遇到的一个问题是让我的一个.htaccess文件像2.2一样工作。基本上我想要做的就是让所有的服务器无需密码即可访问网站,然后当有人不在我的网络或我们的桌面上的任何人尝试访问它时需要一个简单的密码。以下陈述来自2.2并按预期工作。拒绝语句是允许来自组的IP内的一个子集。 Apache 2.4需要语句不按预期解析

AuthType Basic 
AuthName "Dev password" 
AuthUserFile /path/.htpass 
Require user devuser

order allow,deny

allow from xxx.xxx.xx.x/24 xxx.xxx.xx.x/16 xxx.xxx.xxx.x/24 deny from xxx.xxx.xxx.xxx/25

Satisfy any

然而,这就是我想我会做同样的事情在2.4,但我不能得到它的工作:

 
RequireAny 
     RequireAll 
      RequireAny 
        Require ip 10.0 
        Require ip 192.168.0 
      /RequireAny 
      RequireNone
Require ip 10.0.10 Require ip 192.168.0.128/25 /RequireNone /RequireAll

AuthType Basic AuthName "Dev password" AuthUserFile /path/.htpass Require user dev

/RequireAny

有人能告诉我,我做错了什么?它不要求从我的桌面进行身份验证。

对不起,它不显示我的标签requireall和requireany。所以我没有标记它们。

+0

根据文档,在块中不能有否定的Require指令。你需要引入一个块。 – julp 2013-02-08 17:59:29

+0

我已经尝试了很多不同的组合,但没有运气。我修改了我原来的陈述,以显示我最近的失败尝试。 – user2055277 2013-03-25 10:17:33

回答

0

你似乎做得对。将LogLevel设置为authz:

LogLevel authz_core:trace3 

并查看每次点击记录的内容。例如,它可能与IP范围规范中的拼写错误一样愚蠢。