使用.htaccess来阻止*所有*访问特定的文件夹

我不知道如何做到这一点,但我想阻止所有访问我的networking服务器上的一组特定的文件夹。 说secret01和秘密02 …

homeDir |- data |- www | |- .htaccess (file) | |- images | |- js | |- secret01 | |- secret02 | |... |... 

我需要添加到我的根.htaccess文件做什么规则? 我希望阻止来自networking的所有访问进入这些文件夹,期间。 只有这样才能达到他们将通过SFTPSSH 。 那么我在寻找什么规则? 我最好寻找一个单线,所以我可以添加更多的文件夹或将其移动到另一个网站的道路上。 我真的希望如果规则可以放在.htaccess根文件,所以我不必跳过所有的地方来locking和解锁文件夹。

=清晰度更新=

我没有权限访问该主机的conf文件(它位于共享环境中),为了几个shell目的,我需要将这些文件夹放在webroot中。 如果我能,我会已经把他们从webroot。

我也不想拧与文件的权限,只是在我的.htaccess阻止networkingstream量访问一个文件夹或一组文件夹的规则。

你可以创build一个.htaccess

 DENY FROM ALL 

为文件夹(把它放在那些文件)。

也使用www / .htaccess上的mod_rewrite:

 RewriteEngine On RewriteRule ^(secret1|secret2|asdf) - [F,L] 

如果你真的不希望它们通过HTTP访问Internet,则应该将它们完全移到Web树之外。

您也可以使用文件系统权限。 例如,如果Apache以apache用户身份运行,但是您希望这些文件只能由user23通过SSH访问, user23您可以拥有由user2拥有的秘密*,并且不具有公共可读性。 当然,这里有几乎无尽的额外select。 组,文件系统ACL等。

对于ACL,可以使用mod_authz。 最好将configuration保存在conf中,而不是在.htaccess 。 让他们在.htaccess引入更多的曝光和可能用较less的特权进行操纵。

mod_authz文档