![自动将 .htaccess 规则迁移到 Apache 配置文件](https://linux22.com/image/799468/%E8%87%AA%E5%8A%A8%E5%B0%86%20.htaccess%20%E8%A7%84%E5%88%99%E8%BF%81%E7%A7%BB%E5%88%B0%20Apache%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png)
我自己没能找到任何有用的东西,所以:
我希望能够自动将所有 .htaccess 规则迁移到全局 Apache (2.2) 配置文件,并禁用 .htaccess 文件解析(出于性能原因)。
那是:
- 每次代码推送后,脚本都会在给定目录 (/var/webapps) 中找到所有 .htaccess 文件
- 所有规则都将被解析并适当合并[1]
- 结果将写入 Apache 配置文件,然后服务器重新加载
我可能有能力自己写这个(或至少部分),但我想知道是否已经存在经过充分测试的东西。
我们在服务器上运行着许多不同的应用程序(包括一些第三方应用程序),因此手动执行此操作将大大增加开发发布过程的复杂度
[1] 我所说的合并的意思是,例如,所有相同的Deny from all
规则都将放在一个块中,而不是重复几十次。
或者说,这一切真的是个糟糕的主意吗?
答案1
我建议使用 Puppet 或 Chef 等配置管理软件,而不是重新发明轮子并添加额外的复杂性以及通过编写自定义代码可能导致失败的另一个组件。
完全放弃.htaccess
文件,将整个 Apache 配置存储在版本控制中,并通过配置管理软件将其应用到您的服务器 - 如果您想将其与其他配置隔离,也许可以使用带有以前在文件中的规则的 conf.d 文件.htaccess
。