跳转(重定向)代码生成器
网络所有处理都在浏览器本地完成,数据不上传服务器
把一个地址跳到另一个地址,这句话落到不同技术栈上写法完全不同:Apache 是 .htaccess 里的一行 Redirect,Nginx 是一段 location 块,PHP 是一行 header(),而纯静态托管只能靠 meta refresh。这里把十一种写法收在同一个工具里 —— 填目标地址、选状态码,直接拿到能粘进项目的那几行。状态码不是写死的:301 是永久、302 是临时,这个差别对搜索引擎是两回事,所以五个取值都真的写进生成的代码里,包括 ASP、ASP.NET、JSP、Java 这四个默认写法只会发 302 的环境。做不到的地方会以注释写在代码里,比如 meta refresh 与 window.location 属于浏览器端跳转,HTTP 响应始终是 200,那不等于重定向。
功能
- 十一种目标:Apache (.htaccess)、Nginx、HTML meta refresh、JavaScript、PHP、ASP、ASP.NET、JSP、Java、Perl、Python
- 状态码 301 / 302 / 303 / 307 / 308 可选,每种目标都真的按选中的值生成
- ASP、ASP.NET、JSP、Java 不用只会发 302 的 Response.Redirect 与 sendRedirect,改为显式设置状态码与 Location 头
- Nginx 区分精确匹配(location = /old)与前缀匹配(源路径写 /old/*)
- Apache 生成 mod_alias 的 Redirect 指令,省略 mod_rewrite 那一套写法
- Perl 输出里的 $ 与 @ 会转义,不会被当成变量插值
- 多行输入一次生成多条规则,一次最多 20 条
- 地址含空白、引号、反斜杠、尖括号时直接报错并说明理由,不生成语法错误的代码
- 生成的代码带语法着色,可整块复制
- 全部在浏览器本地完成,跳转地址不外传
使用方法
- 把要跳转到的完整地址填进输入框,多条规则写多行
- 选目标语言 / 环境
- 用 Apache 或 Nginx 时再填源路径,也就是原页面在站内的路径
- 选状态码:换域名、改路径用 301,临时活动页用 302
- 复制代码;开头的注释会说明这份代码与原意的差别
常见问题
- 301 和 302 该选哪个?
- 换域名、改永久路径选 301,搜索引擎会把旧地址的权重转到新地址,并用新地址替换索引里的旧地址;临时活动页、维护页、A/B 测试选 302,旧地址仍然有效,索引不会改写。选错的代价并不对称:该用 302 却用了 301,浏览器与中间层会长期缓存那次跳转,用户回到旧地址时可能再也看不到原内容;反过来只是权重没转过去。拿不准时先用 302。
- 为什么 JavaScript 和 meta refresh 这两种没有状态码?
- 因为它们是浏览器端跳转:服务器返回的仍然是一个 HTTP 200 的正常页面,接着由页面里的脚本或 meta 标签把浏览器带走。从爬虫与服务端角度看,这个地址根本没有发生重定向 —— 状态码、缓存行为都还属于原来那个页面。所以要状态码就必须用服务端跳转(Apache、Nginx、PHP、ASP、JSP 这些);meta refresh 只适合纯静态托管这类拿不到服务端配置的场景。这一点也写在生成代码的注释里。
- 「源路径」为什么只有 Apache 和 Nginx 用得上?
- 因为只有这两者在配置里描述「哪个路径跳到哪里」,源路径就是规则的匹配条件。PHP、ASP、JSP 那几种生成的是「这个请求该怎么响应」,至于什么情况下会走到这段代码,取决于你把它放进哪个文件或哪个路由 —— 工具无从得知,硬编一个 if 判断只会生成一段猜出来的代码。
- 为什么生成的代码里是英文注释?
- 注释会被粘进 .php、.java、.cs 这些源文件,与那里的代码同语言;一份中文注释夹在英文代码里,下次打开文件的人(很可能就是你自己)会先被这处不一致绊一下。而页面上的一切 —— 选项、报错、说明 —— 都是你的界面语言。
- 地址里带问号、中文、空格会有问题吗?
- 问号、等号、& 与中文都没问题,会原样出现在生成的代码里。空白、引号、反斜杠、尖括号会被拒绝,并提示你先做百分号编码 —— 这些字符在十一种语言里的转义规则各不相同,替你选一个等于赌,赌错了你拿到的是一段语法错误的代码,而报错会出现在你的项目里,不是这里。
- 生成的代码会被上传吗?
- 不会。地址与状态码只在浏览器内存里参与字符串拼接,页面不发送任何请求,断网也能用。
相关工具
自动刷新代码生成
网络生成让页面自动刷新的代码:HTML meta 标签、JavaScript 定时器(含倒计时)、服务器 Refresh 响应头,以及 React / Vue 写法。
HTML 转 JS
网络把一段 HTML 转义成 JS 字符串(含 `</script>` 打断、引号与换行处理),反向也能把转义字符串还原成 HTML。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
MIME 类型
网络MIME 类型与扩展名双向查询:输入 js 得到 text/javascript,输入 image/svg+xml 得到默认扩展名。附数据来源与覆盖范围,全部本地完成。