You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess如何配置:拒绝所有点文件访问并返回404,同时允许Let's Encrypt的.well-known目录?

解决方案:屏蔽点文件但放行.well-known目录

我来帮你调整配置,刚好能实现你要的效果——拒绝所有点文件/目录(比如.htaccess、.env)并返回404状态码,同时让Let's Encrypt需要的.well-known目录可以正常访问。

先说说你现有配置的问题

你的当前配置有两个小问题:

  • 第一条RewriteRule用了[F]标记,这会返回403 Forbidden,但你需要的是404状态码
  • RedirectMatch和RewriteRule混用可能导致规则冲突(mod_alias和mod_rewrite的处理顺序不同),而且规则顺序也没优先放行例外

调整后的正确配置

直接用mod_rewrite就能搞定,把下面的代码放到你的.htaccess里:

RewriteEngine On

# 优先放行.well-known目录下的所有请求,不再执行后续规则
RewriteRule ^\.well-known/ - [L]

# 匹配所有其他点文件/目录,返回404并终止规则
RewriteRule "(^|/)\." - [R=404,L]

规则解释

  • RewriteEngine On:开启Apache的重写引擎,这是所有rewrite规则的前提
  • 第一条规则:匹配所有以.well-known/开头的请求,[L]标记表示这是最后一条要执行的规则,直接放行该请求
  • 第二条规则:匹配开头就有点(比如.env)或者路径中间有点(比如sub/.htaccess)的请求,[R=404,L]表示返回404状态码,并且终止后续规则执行

额外注意事项

  • 确保你的Apache服务器已经启用了mod_rewrite模块(大部分主机默认是开启的)
  • 把这些规则放在.htaccess文件的最开头,避免和其他已有的重写规则冲突
  • 如果是在服务器全局配置文件(比如httpd.conf)里配置,效果是一样的,不需要考虑.htaccess的目录继承问题

内容的提问来源于stack exchange,提问作者endo.anaconda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:42:48