![Apache 到 Nginx 重写规则转换工具](https://linux22.com/image/795178/Apache%20%E5%88%B0%20Nginx%20%E9%87%8D%E5%86%99%E8%A7%84%E5%88%99%E8%BD%AC%E6%8D%A2%E5%B7%A5%E5%85%B7.png)
将规则从 Apache转换rewrite
为 Nginx 似乎并不是那么困难,
但是,我想自动化这项工作,因为我们计划迁移一些站点。
- 是否有现有的脚本或工具可以执行此操作?
- 如果不是,Apache / Nginx 约定中的一些特殊性是否会使正则表达式转换变得更加困难?
答案1
确实存在一个,但它真的非常糟糕。您的问题还表明您可能没有正确转换它们。Apache 主要使用重写条件和重写规则,而 Nginx 使用位置块、try_files 和重写的组合。许多 Nginx 新手会将所有重写指令放入服务器块或位置/块中。这意味着您没有利用 Nginx 生成的哈希表,并且您将评估每个请求的所有重写规则 - 这只是浪费 CPU 周期。