在此运行 完全在你的浏览器里运行,不上传、不登录
htaccess 转 Nginx
用真实映射表把 Apache .htaccess 规则转成 Nginx 配置。
已转换 / 需人工处理
需要人工处理的规则
映射按行进行且保守:没有可靠对应物的规则会保留为注释说明,绝不静默丢弃。
怎么用
- 把
.htaccess粘贴到左侧,或点示例看一份真实文件被转换的样子。 - 点转换 —— 右侧会输出一个
server块,里面是映射后的指令。 - 看面板上方的计数器:已转换多少条、多少条需要人工处理。
- 看下方需要人工处理的规则清单,每条都是原始行,输出里也以注释形式保留着。
- 复制或下载成
nginx.conf,部署前务必逐条复核。
转换器按行处理,而且刻意保守:没有可靠对应物的指令会一直留在你眼前,不会被悄悄扔掉。
常见用法
- 把 PHP 站点迁到 Nginx —— 经典的 WordPress 前端控制器规则,会转成 rewrite 加文件存在性判断。
- 迁移重定向 ——
Redirect变成带return的location块,RedirectMatch变成rewrite。 - 重建缓存头 ——
ExpiresByType变成按扩展名的location块加expires,AddType的值收进一个types块。 - 审计遗留配置 —— 人工处理清单直接告诉你新配置还缺哪些指令。
常见问题
问:为什么有些输出被标成需人工处理? 答:有些 Apache 指令在 Nginx 里没有直接对应物,比如 PHP 设置、环境匹配和自定义 handler。硬猜会得到一份「看着已完成、reload 就报错」的配置,所以这些行是标出来而不是编一个。
问:结果还需要人工检查吗?
答:需要。Nginx 对重写规则的求值方式和 Apache 不同:模式匹配的是带前导斜杠的 URI,而 location 里的 if 有众所周知的坑。请把输出当成一份很强的草稿,而不是可以直接丢上机的文件。
问:RewriteCond 条件会转换吗?
答:有直接对应物的会:服务器变量映射到 Nginx 变量,文件测试变成 -f / -d 判断,条件变成外层的 if 块。用到 [OR] 的条件会被额外标注,因为 Nginx 的 if 表达不了「或」。
你的数据留在这台设备上
htaccess 转 Nginx 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。
你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。