繁体   English   中英

.htaccess 拒绝点文件但允许 letencrypt

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM