HtaccessRedirect生成器

填入重定向码、源路径和目标 URL,立刻得到 Apache .htaccess 里可用的重定向片段,同时给出 Redirect 指令与 RewriteRule 两种写法。默认示例是 301 把 /old.html 跳到 https://example.com/new.html,打开即可看到结果。

SEO 改版一般用 301,临时跳转用 302
站点根目录下的相对路径,以 / 开头
完整地址或站内路径均可
决定「复制」时优先复制哪种写法

提示:任意输入框裸按 Enter 或在下拉框切换都可触发生成;结果区用 role="alert" 标出,便于读屏软件播报。

301 与 302 的选取对照

状态码含义搜索引擎处理典型用途
301永久移动转移权重到新地址改版、换域名、合并页面
302临时移动保留原地址权重A/B 测试、临时维护页

该表说明状态码的取舍;具体生成哪段指令,仍以你选择的结果区为准。表仅 2 行,未超过 12 行,全量展示。

使用方法

  1. 在「重定向码」选 301(永久)或 302(临时),默认 301,SEO 改版优先用它。
  2. 在「源路径」填要被跳转的旧地址(默认 /old.html),以站点根目录的 / 开头。
  3. 在「目标 URL」填新地址(默认 https://example.com/new.html),可以是完整外链,也可以是站内路径。
  4. 在「输出风格」选主推写法(Redirect 指令 或 RewriteRule),点「生成片段」或裸按 Enter,结果区同时给出两种写法。
  5. 点「复制结果」把当前风格对应的片段存到剪贴板,直接粘进 .htaccess 即可生效。

这个工具能解决什么问题

一是把「我会改地址但不会写规则」变成一行可用代码。HtaccessRedirect生成器把 Apache 的 Redirect 与 RewriteRule 语法对普通站长并不友好的痛点解决掉,一个斜杠或转义点号写错就会导致 500 错误,本工具按规范生成,避免手写正则出错。

二是一次给齐两种写法,适配不同服务器环境。有的虚拟主机默认开启 mod_rewrite,有的只支持核心 Redirect 指令。本工具同时产出两条,你按主机支持的那种粘进去即可,不必来回查文档。

三是明确 301 与 302 的 SEO 后果。临时活动用 301 会错误地把旧页权重永久转移、难以撤回;该用 302 时用了 301 是常见事故。本工具把码位做成显式下拉,逼你在生成前先想清楚意图。

四是把「301/302 的 SEO 后果」前置到生成环节。很多事故源于该用 302 时误填 301,导致旧页权重被永久转移、难以撤回。本工具把码位做成显式下拉,逼你在生成前先想清楚意图,而不是事后在服务器日志里排查。

本页不做这些事:不校验目标 URL 是否真实可达(那是你自己的事);不生成带条件判断的复杂重写链;也不自动备份或上传你的 .htaccess。它只负责把三要素(码、源、标)转成合规片段。

计算原理:从三要素拼出合规指令

Redirect 指令:形如 Redirect 码 源路径 目标URL。源路径保持你输入的原始串(含前导 /),目标是完整地址或路径,三者用空格分开。Apache 核心模块直接识别,无需开启 mod_rewrite,最适合单条简单跳转。

RewriteRule:先写 RewriteEngine On 开启引擎,再用 RewriteRule ^源路径$(去掉前导/并转义)$ 目标 [R=码,L]。源路径里的正则特殊字符(如 .)会被转义成 \.,^ 与 $ 锚定首尾,保证只匹配该文件而非前缀;[R=301,L] 表示按该码重定向并停止后续规则。

目标路径的提取:当目标是一个完整 URL(含 http/https)时,RewriteRule 里的目标也常写成站内路径,因此本工具自动从完整 URL 中截取出路径部分(如 https://example.com/new.html → /new.html)。若你输入的就是站内路径,则原样使用。

码位透传:无论 301 还是 302,都只替换指令里的数字,其余结构不变。这样你切换下拉框时,结果会随码位即时更新,不会混用。

性能与编码:所有拼接只是字符串处理,时间与输入长度成线性,即便一次性给几十行源路径也只是逐条拼接;因为全程在浏览器内完成,不存在编码往返,中文注释与路径都能原样保留。

完整示例(默认输入实测)

示例与页面默认值完全一致:码 = 301,源 = /old.html,目标 = https://example.com/new.html。逐项核对:

把码位切成 302,两处数字会同步变成 302;把源改成 /products/ 这种带斜杠的路径,RewriteRule 会相应生成 ^products/?$ 风格(本工具按字面转义,保持可预期)。

输入范围与对照表

对照表帮助你「选对码」,结果区帮助你「写对规则」;两者配合,既少出错也少踩 SEO 坑。

结果边界与舍入

常见问题

301 和 302 到底该选哪个?

若旧地址永久不再使用、希望搜索引擎把权重转移到新地址,选 301;若是临时活动、A/B 测试或维护页,选 302 以保留原地址权重。改版迁移几乎都用 301,误用 302 会导致新页迟迟不被收录。

源路径为什么一定要以 / 开头?

在 .htaccess 的 Redirect 指令里,源路径相对于站点根目录,惯例以 / 开头(如 /old.html)。若写成 old.html 可能被当成相对当前目录而匹配不到。本工具不强制,但建议你照此填写,并在出错时检查前导斜杠。

RewriteRule 里的点号为什么变成了 \. ?

因为点号在正则里表示「任意字符」,不转义会错误匹配 ofd.html 之类的串。本工具自动把源路径中的点号转义成 \.,保证只精准匹配 old.html 本身。这是标准且安全的做法。

目标填了完整 URL,RewriteRule 里怎么变成路径了?

这是 Apache 的常见写法:Redirect 指令常用完整 URL,而 RewriteRule 右侧常写站内路径(从完整 URL 截取出的 /new.html)。本工具自动做这层转换;若你确实需要 RewriteRule 右侧也是完整 URL,可手动改回,本工具只是给一个通用默认。

生成的片段放到 .htaccess 还是 httpd.conf?

两者都支持,但多数虚拟主机只能改站点根目录的 .htaccess。把结果粘到该文件、并确保 Apache 允许覆盖(AllowOverride 开启)即可。本工具不关心你放在哪,只负责产出合规文本。

为什么有时跳转会循环?

通常是源和目标指向了同一资源,或 RewriteRule 没加 [L] 导致规则继续匹配。本工具生成的 RewriteRule 已带 [L](last),并在目标用不同路径避免自指;若你手写改动后出现循环,请检查目标是否又指回了源。

支持批量生成很多条重定向吗?

本工具一次生成一条,保证每条都经过人工确认的三要素。若你有几十条旧地址要迁移,建议逐条生成后自行汇总,或先用本工具验证单条格式,再批量拼接进 .htaccess。

生成结果会被上传吗?

不会。所有拼接只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里点几次「生成片段」,面板始终是空的。

相关工具