中间件速查手册
Web 服务器目录级配置

.htaccess 是什么?

放在目录里的配置文件,不改主配置就能覆盖规则

类比:每个房间门口贴自己的规矩

它能做什么

在目录里放一个 .htaccess,就能为该目录及其子目录定义重写规则、访问控制、错误页、缓存头。共享主机没有主配置权限时,这是唯一的自定义手段。

代价

灵活是有成本的,而且成本不低。

  • 每个请求都要读取并解析 .htaccess,目录越深越慢
  • 规则分散,排查问题要一层层找
  • AllowOverride All 有安全风险,可能被上传恶意文件利用
  • 生产环境建议把规则合并进主配置,关掉 AllowOverride

迁移到 Nginx

Nginx 没有 .htaccess,重写规则要写进 server 块的 location 里。迁移时逐条翻译 RewriteRule,注意 Nginx 的 rewrite 语法和 Apache 不同。

它出现在这些中间件里

相关问题

相关概念