Apache 因异常而拒绝直接访问

Apache 因异常而拒绝直接访问

我需要拒绝直接访问某个目录 (*backend) 下的所有文件夹,但有一个例外。有一个目录 (*uploads) 必须通过浏览器访问。

布局可能是这样的:

*backend/     
  |-admin    
  |-system    
  |-themes    
  |-*uploads

我知道你可以通过在下方放置 htaccess 来拒绝所有访问后端内容如下:

Order Deny,Allow
Deny From All

另外,您可以通过放置不同的 htaccess 来覆盖此行为,在本例中为上传, 和:

Allow From All

这不起作用,因为我的脚本无法访问主题下的资源。正确的做法是什么访问控制组合看起来像什么?


[编辑]

我必须使用 htaccess 来实现这一点,修改 http.conf 不是一个选择。

修改 htaccess 如下,并在主题中添加一个文件,几乎可以达到预期的效果。问题是:文件下主题必须防止直接访问,但仍可向网站提供服务

后端

#backend
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from xx.xx.xx.xx

上传

#uploads
Order Deny,Allow
Allow from all

主题

#themes
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from xx.xx.xx.xx
<Files *.*>
    Order Deny,Allow
    Allow From All #Here, I would need the files to not be accessible through browser.
</Files>

答案1

httpd.conf在你的(或类似的配置文件)中尝试这个

<Location /backend>
    Order deny,allow
    deny from all
</Location>

<Location /backend/uploads>
    Order allow,deny
    allow from all
</Location>

如果您需要/backend从服务器本身访问,您可以在上面的第一段中添加以下行以拒绝所有人。

allow from 127.0.0.1, <server-ext-ip>

还有一件事。为了以防万一,段落的顺序很重要。

相关内容