我需要拒绝直接访问特定目录下的所有文件夹(*后端),但有一个例外。 有一个目录(*上传)必须通过浏览器访问。
布局可能是这样的:
*backend/ |-admin |-system |-themes |-*uploads
我知道你可以通过在后台下面放置一个htaccess来拒绝所有访问:
Order Deny,Allow Deny From All
此外,您可以通过在上载中放置不同的htaccess来覆盖此行为:
Allow From All
这是行不通的,因为我的脚本无法访问主题下的资源。 什么是正确的htaccess组合看起来像?
[编辑]
我必须用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>
在你的httpd.conf (或类似的configuration文件)
<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>
还有一件事。 为了以防万一,段落的顺序是重要的。