我们有一个有很多域名的服务器。 每个域都有一个或多个我们希望通过IP保护的pipe理区域:
这是我们用来保护所有站点上所有这些的Apacheconfiguration的一个片段:
<Directory ~ "^/home/user/apache/[^/]+/public/((blog/)?wp\-)?admin"> AllowOverride All Order Deny,Allow Deny from all Allow from 123.45.67.89 23.45.67.89 34.56.78.90 </Directory>
这限制了上述文件夹中的任何一个只能被这些IP地址查看。 对于大多数网站和博客,这完美的作品。 但是,在一个小网站上,这是行不通的。
我认为这可能是不同的是,该网站上的admin文件夹实际上并不存在,而是一个RewriteRule匹配从索引页面提供该页面。 有点奇怪的是, 它阻止/admin并给出了一个403错误,但它不允许列在Allow from规则的IP。
为什么目录匹配和拒绝,但不允许? 这是预期的行为? 我怎样才能解决这个问题?
对于不是目录的<Location> ,请使用<Location>而不是<Directory> 。