php - htaccess - 拒绝访问文件夹中的 pdf 文件
问题描述
目标是限制对主文件夹中所有 *.pdf 各种子文件夹的直接浏览器访问。每个 pdf 文件所在的子文件夹名称仅为数字(字符 0-9;例如“work/books/112/myfile.pdf”)
到目前为止,我所拥有的是:
RewriteRule ^work/books/([0-9]+)/\.pdf)$ [F,L,NC]
'books' 是我的主文件夹,然后是 pdf 文件所在的任何数字文件夹。
这似乎不起作用,我也不确定虽然这个重写规则会阻止直接访问这些 pdf 文件,但我仍然可以通过 php 读取 pdf 文件吗?
解决方案
该规则缺少扩展名 ( .pdf
) 之前的文件名部分,因此正则表达式应为
^work/books/[0-9]+/[^/]+\.pdf
也不需要捕获任何部分,这意味着您可以省略所有括号,这些括号在您的示例中是不平衡的,顺便说一句。
指令的另一部分RewriteRule
是替换,在这种情况下可能只是一个破折号。所以放在一起就变成了
RewriteRule ^work/books/[0-9]+/[^/]+\.pdf$ - [F]
推荐阅读
- extjs - Extjs 6.5.3 从记录值绑定小部件列的隐藏属性
- android - 设备锁定时 Altbeacon 库不扫描
- artifactory - 如何使用 Percona 集群设置 Artifactory 集群?
- tensorflow - Tensorflow 检测 API 中 SSD 检测器的灰度输入图像
- batch-file - 为什么我们不能在一个批处理文件中执行 BigQuery 的多个语句?
- java - 我课堂上的错误
- docker - Kubernetes 持久卷和主机路径
- c# - 通过 AR 应用将屏幕截图保存到 Android 图库
- php - 在 PHP 中从创建者的站点验证客户端的脚本
- r - bind_rows 到每组 tibble