HTACCESS转NGINX

htaccess转Nginx工具免安装使用,Apache伪静态规则转换与服务器迁移神器,RewriteRule与RewriteCond智能转换全面支持。

HTACCESS转NGINX
Apache · Nginx 伪静态互查 · 本地转换
粘贴 .htaccess 规则
输入即实时转换(Ctrl+Enter 立即转换)
Nginx 配置(放入 server 块)

      
纯本地转换,规则与文件均不上传服务器;结果仅供参考,部署前请先执行 nginx -t 校验,再 reload 生效。

工具介绍

.htaccess 转 Nginx 工具是一款免费的在线规则转换工具。把 Apache 的 .htaccess 规则粘贴进来,或直接点击「上传文件」选择本地的 .htaccess 文件,即可实时转换为对应的 Nginx 配置片段,覆盖 RewriteRule 伪静态、301/302 跳转、ErrorDocument 自定义错误页、DirectoryIndex 默认首页、Header 响应头、deny/allow 访问控制等常用指令。

工具会自动处理两种引擎的主要差异:路径锚点补全、[L]/[R=301]/[NC]/[QSA] 等标志映射、Apache 变量到 Nginx 内置变量的替换;对 WordPress、ThinkPHP 等常见程序的前端控制器规则,会直接转换为 Nginx 官方推荐的 try_files 写法。内置 WordPress 伪静态、ThinkPHP 伪静态、301 跳转集合三个示例,点一下即可载入体验。无法自动转换的指令以注释保留并逐条提示,方便人工补齐。全程浏览器本地转换,规则与文件均不上传服务器。

htaccess转nginxApache伪静态转换RewriteRule转换Nginx伪静态301跳转服务器迁移try_files

界面展示

HTACCESS转NGINX 界面截图

功能亮点

  • 实时转换:输入即自动转换(防抖),支持 Ctrl+Enter 快捷键
  • 文件上传:直接选择本地 .htaccess 文件读取转换,文件不离开浏览器
  • 标志映射:[L]/[R=301]/[NC]/[QSA]/[F] 自动映射为 Nginx 等价写法
  • 锚点补全:自动补全 rewrite 匹配路径的斜杠锚点,适配 URI 差异
  • 变量替换:%{HTTP_HOST} 等变量自动映射为 $host 等 Nginx 内置变量
  • try_files 识别:前端控制器规则一键转换为官方推荐写法
  • 全指令覆盖:跳转、错误页、默认首页、响应头、访问控制均支持
  • 透明可信:无法转换的指令以注释保留并逐条提示,绝不静默丢弃
  • 本地运行:转换在浏览器完成,规则内容不上传服务器

使用方法

  1. 粘贴规则:把 .htaccess 内容粘贴到上方输入框,点击「上传文件」直接选择本地 .htaccess 文件,或点击示例(WordPress / ThinkPHP / 301 跳转)载入
  2. 查看结果:实时得到 Nginx 配置片段,注意查看下方的转换提示
  3. 人工核对:按提示核对无法自动转换的部分,按需手工补齐
  4. 部署生效:复制结果放入 server 块,nginx -t 校验后 reload

适合人群

  • 站长:从 Apache 主机迁移到 Nginx 环境的网站管理员
  • 运维工程师:批量迁移伪静态与跳转规则的技术人员
  • 建站开发者:不熟悉两种引擎差异、需要快速对照的开发人员
  • SEO从业者:迁移站点后需要保留原有跳转与伪静态的优化人员
  • 学生与新手:通过对照示例学习两种引擎配置差异的学习者

常见问题解答(FAQ)

什么是 .htaccess 和 Nginx 伪静态规则?
.htaccess 是 Apache 的分布式配置文件,常用于 URL 重写(伪静态)、跳转和访问控制;Nginx 不支持 .htaccess,需用 rewrite、location、try_files 等指令实现,本工具就是把前者转换为后者。
转换结果可以直接使用吗?
可以作为起点但不建议直接照抄。两者运行模型有差异,复杂条件判断、代理等指令无法一一对应,需人工核对、执行 nginx -t 校验后再 reload 生效。
为什么 RewriteCond 没有完整转换?
RewriteCond 是 Apache 前置条件判断,Nginx 无直接等价写法(官方也不推荐在 if 中做复杂判断);工具对常见组合给出建议写法,其余以注释保留并提示人工核对。
WordPress 等常见 CMS 的伪静态能直接转换吗?
可以。WordPress、ThinkPHP 等的前端控制器规则(!-f/!-d 条件加 index.php 目标)会被自动识别并转换为 location / { try_files $uri $uri/ /index.php$is_args$args; }(Nginx 官方推荐写法)。
转换结果放在 Nginx 配置的哪个位置?
一般放在对应站点的 server { } 块内;rewrite、location、error_page 等指令均属 server 上下文;宝塔等面板环境可粘贴到站点伪静态配置框中。
修改 Nginx 配置后如何生效?
先 nginx -t 检查语法,确认后 nginx -s reload(或 systemctl reload nginx)平滑重载;面板环境保存伪静态配置时自动完成校验与重载。
转换后访问仍然 404 怎么办?
常见原因:配置放错 server 块或未 reload;存在优先级更高的 location;rewrite 目标路径不对。可用 nginx -T 输出全部生效配置排查,并查看 error.log。
[NC]、[QSA]、[L] 这些标志去哪了?
[L] → last;[R=301] → permanent;[R] 或 [R=302] → redirect;[NC] → 正则前缀 (?i);[QSA] → 无需转换(Nginx 的 rewrite 会自动附加查询串)。
工具支持转换哪些指令?
支持 RewriteRule/RewriteCond、Redirect/RedirectMatch、ErrorDocument、DirectoryIndex、Header set/append、deny/allow、Require all、Options -Indexes、AddDefaultCharset 等常用指令;IfModule 包裹标签自动剥离,其余指令以注释保留并提示。
粘贴的规则会被上传到服务器吗?
不会。转换全部在浏览器本地完成,粘贴内容与转换结果都不发送到服务器。
Apache 和 Nginx 的正则语法兼容吗?
两者都基于 PCRE,常规写法兼容;主要差异在匹配对象——Apache 在 .htaccess 中匹配去掉 RewriteBase 后的路径,Nginx 的 rewrite 匹配以 / 开头的 URI,工具会自动补全锚点后的斜杠。

更新日期:2026-11-02