当前位置: 首页 > 知识库问答 >
问题:

.htaccess拒绝除某些目录外的所有

郭元凯
2023-03-14

我有一个文件夹,我希望拒绝访问,但我希望有一个子目录(及其所有文件和任何子目录)是可访问的。

/modules/
/modules/gallery/public/manifest.xml
/modules/gallery/public/js/core.js
/modules/gallery/public/css/master.css
/modules/news/public/images/status.png
/modules/news/public/css/style.css

.htaccess文件需要在“模块”中,因为它的子目录是用户提供的(它们是CMS的插件),每个用户提供的文件夹可能有一个“公共”目录,只有“公共”中的文件和文件夹才可以访问。

共有1个答案

牟正真
2023-03-14

如果请求包含/public/,则可以设置环境变量,在modules目录下的htaccess文件中执行如下操作:

SetEnvIf Request_URI /public/ ispublic=1
Order Deny,Allow
Deny from all
Allow from env=ispublic

如果希望限制更严格,可以调整/public/regex以包含深度,例如,只包含1个深入模块的目录:

SetEnvIf Request_URI ^/[^/]+/public/ ispublic=1
 类似资料:
  • 问题内容: 我有一个这样的表: 我正在尝试删除具有3个以上具有相同ID的名称的记录,但要删除所有记录。因此,我试图得到这样的东西: 我不了解如何编写此查询。我已经达到了保留一个记录但没有记录阈值的程度: 给我: 有什么建议?哦,对了,我不在乎合并时会保留哪些记录。 问题答案: 您可以使用CTE做到这一点

  • 我按照说明通过文件将Maven指向适当的JDK,详细说明如下:如何更改Maven java home

  • 我希望你能帮助,我一直有真正的麻烦得到一个。htaccess文件的工作正确。 关于发生了什么和解决方案有什么想法吗? 提前感谢您的帮助

  • 这是我面临这个问题的一天。我不知道这是因为托管服务器还是我在joomla中的配置。 我正在尝试使用Akeba备份将我的joomla网站上传到ftp。首先,我上传了kickstart。php和Akeba文件的网站,它是成功的。 现在,我做了安装使用akeeba和最后一部分,它显示了一个模式,显示一个按钮"查看您的网站前端"。而不是去网站前端它下载一个index.php文件...我输入http://m