[英].htaccess deny dot-files but allow letsencrypt
我的目标是拒绝访问所有点文件,例如.htaccess
、 .env
并发回 404,但允许访问letsencrypt-folder .well .well-known
RewriteEngine On
RewriteRule "(^|/)\.(?!well-known)" - [F]
RedirectMatch 404 /\..*$
任何有关如何实现这一目标的提示都受到高度赞赏 Best end
请尝试以下操作:
RewriteEngine On
RewriteRule (?:^|/)\.[^/]+$ - [R=404]
这将为以点开头的任何文件(或者更确切地说,最后一个 URL 路径段)提供 404。 但它会允许.well-known/
- 因为这是一个目录,因此也至少以斜杠 + 文件名作为后缀。
更新:修改正则表达式,使其匹配最后一个路径段开头的点,而不是最后一个路径段中的任何位置!
请注意, F
标志以 403 Forbidden 响应,而不是请求的 404。
或者,您可以使用仅匹配“文件”的<Files>
(或<FilesMatch>
)容器。 例如:
<Files ".*">
# 404 Not Found
Redirect 404 /
# OR... 403 Forbidden
#Require all denied
</Files>
虽然这也阻止了对/.well-known
(没有尾部斜杠)的请求 - 尽管这无论如何都不是严格的有效请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.