.htaccess 转 Nginx 转换器

快速将 Apache 伪静态规则转换为 Nginx 配置,助力服务器迁移

广告占位符 - Google AdSense (Top)
Apache .htaccess 源码 输入规则自动转换
Nginx 配置结果

💡 提示:转换结果仅供参考,生产环境部署前请务必进行测试。

广告占位符 - Google AdSense (Bottom)

从 Apache 迁移到 Nginx:为什么要转换配置?

在高性能 Web 服务领域,Nginx 已逐渐取代 Apache 成为首选。它以高并发、低内存占用和强大的静态文件处理能力著称。然而,Apache 使用 .htaccess 文件来管理分布式配置,而 Nginx 则采用中心化的主配置文件。将 Apache 的伪静态规则(Rewrite Rules)迁移到 Nginx 是服务器迁移过程中最关键的一步。

Apache 与 Nginx 配置的核心差异

本转换工具能解决哪些具体问题?

1. 常见的伪静态规则迁移:
无论是 WordPress 的永久链接、Laravel 的单一入口,还是 ThinkPHP 的路由模式,本工具都能准确识别 RewriteRule 并转换为对应的 location 块或 rewrite 指令。

2. 条件判断(RewriteCond):
Apache 中常见的“如果文件不存在则转发到 index.php”逻辑,在 Nginx 中最优雅的实现是 try_files $uri $uri/ /index.php?$query_string; 。本工具会自动进行这种“最佳实践”式的转换,而非生硬的正则翻译。

3. 错误页面定制:
一键将 ErrorDocument 404 /404.html 转换为 Nginx 的 error_page 404 /404.html;

迁移后的测试建议

  1. 检查语法: 部署转换后的配置后,务必运行 nginx -t 检查是否存在语法错误。
  2. 处理查询字符串: Nginx 默认会自动透传查询参数,除非你在 rewrite 末尾加上了 ? 。本工具已处理了大部分常见情况。
  3. 根目录权限: Nginx 不会自动处理 Deny from all ,你需要将其转换为 location ~ /\.ht { deny all; }

如何使用本工具?

1. 粘贴源码: 将您的 .htaccess 文件内容全部粘贴到左侧输入框。

2. 使用预设: 如果您不确定如何编写,可以点击顶部的“WordPress”或“Laravel”预设按钮查看标准示例。

3. 获取配置: 右侧会实时生成转换后的 Nginx 语法。点击“复制配置”并将其粘贴到您的 nginx.conf 或虚拟主机配置文件中的 server 块内。

配置已复制到剪贴板