Htaccess重定向生成器
每次迁移博客、更改URL方案或整合旧页面时,Apache的.htaccess文件都需要承担主要的配置清理工作。该生成器可将简单的源地址与目标地址映射转换为正确的RewriteRule指令,并附带相应的参数标记,可直接插入网站的.htaccess文件中使用。
如何生成重定向规则
-
1
选择重定向类型
301永久重定向用于符合SEO规范的页面迁移;302临时重定向用于A/B测试及季节性页面跳转。
-
2
输入源和目标
精确的路径或正则表达式模式:旧路径将成为RewriteRule模式,新URL将成为重定向目标。
-
3
检查标志
每条规则都会自动获得正确的标志(`[R=301,L]`或`[R=302,L]`),因此生成的代码可直接与mod_rewrite配合使用。
-
4
复制指令
生成的代码块将插入到 .htaccess 文件的 `<IfModule mod_rewrite.c>` 区段中。
`mod_rewrite` 与 `mod_alias` 指令
Apache 提供了两个用于重定向的模块,具体选择取决于规则的复杂性。
决策指南
| 要求 | 使用 | 示例 |
|---|---|---|
| 精确的旧网址 → 精确的新网址 | Redirect |
Redirect 301 /old /new |
| 通配符前缀 | RedirectMatch |
RedirectMatch 301 ^/blog/(.*)$ /articles/$1 |
| 查询字符串匹配 | RewriteRule |
详见下文 |
| 强制使用 HTTPS | RewriteRule |
RewriteCond %{HTTPS} off + 规则 |
| 条件性(浏览器、Cookie) | RewriteRule |
与 RewriteCond 结合使用 |
示例:强制使用带有 www 的 HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
示例:将 /blog/post-123 移动到 /articles/post-123
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]
您将看到的标志
L,最后,不再继续处理后续规则。R=301或R=302,使用该状态码进行重定向。NC,不区分大小写。QSA,将原始查询字符串附加到新URL中。NE,不要在目标文件中重新编码特殊字符。
常见错误
- 忘记
RewriteEngine On,若缺少该指令,任何 RewriteRule 都无法生效。 - 默认使用 302 重定向,谷歌将其视为临时重定向,因此原有 URL 仍会保持排名。
- 链式重定向(旧地址 → 中间地址 → 最终地址),应始终力求单跳跳转;每增加一跳都会损失链接权重并增加延迟。
常见问题
使用 301 状态码进行永久性操作:网站迁移、URL 格式变更、HTTPS 升级。仅在临时情况下使用 302 状态码,例如重定向至维护页面或实施 A/B 测试。搜索引擎会通过 301 状态码传递排名信号,而通过 302 状态码则无法可靠传递该信号。
最常见的原因是忘记识别模式中的起始斜杠。在 RewriteRule 中,模式匹配的是不含起始斜杠的路径(例如 ^blog/);而在 Redirect (mod_alias) 中,模式则以斜杠开头(例如 /blog)。请勿混淆这两种规则规范。
是的,请在使用 RewriteRule 之前先使用 RewriteCond %{QUERY_STRING} ^id=123$。普通重定向不会读取查询字符串;只有 RewriteRule 能够对其进行匹配。
是的,在后续请求中,Apache会逐次读取 .htaccess 文件,无需重启服务器。若未出现任何异常,请检查该目录对应的 vhost 中是否已设置 AllowOverride All。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- Générateur de redirection Htaccess [FR]
- مولد إعادة توجيه Htaccess [AR]
- Htaccess Weiterleitungs-Generator [DE]
- Htaccess-omdirigeringsgenerator [SV]
- ตัวสร้าง Redirect สำหรับ Htaccess [TH]
- Generador de redirección Htaccess [ES]
- Htaccess 리다이렉트 생성기 [KO]
- Generator Redireksi Htaccess [ID]
- Htaccessリダイレクトジェネレータ [JA]
- Htaccess-redirectgenerator [NL]
- Bộ tạo đường dẫn chuyển hướng Htaccess [VI]
- Generator przekierowań .htaccess [PL]
- Gerador de Redirecionamento Htaccess [PT]
- Htaccess Redirect Generator [EN]
- Generatore di Redirect Htaccess [IT]
- Генератор перенаправлений для Htaccess [RU]
- Htaccess Yönlendirme Oluşturucu [TR]