分类: 开发工具

.htaccess 重定向生成器

站方自主规划没找到想要的工具?

生成 Apache 重定向与重写规则

生成一段 Apache .htaccess 片段,用于强制 HTTPS、统一 www 子域名、添加或去掉末尾斜杠,以及重定向指定路径——全部通过表单完成,mod_rewrite 语法由工具帮你写好。全程在浏览器本地构建。

.htaccess
RewriteEngine On

# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect www to non-www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

# Path redirects
Redirect 301 /old-page /new-page
Redirect 301 /blog/old-post /blog/new-post

本页的所有处理都在浏览器中完成,不会上传任何内容。

这个工具能做什么

Apache 站点通常都需要同一批重定向:强制所有请求走 HTTPS,选定 www 和非 www 中的一种作为唯一形式(避免搜索引擎把排名信号拆分到两个 URL 上),统一末尾斜杠的写法,以及在网站改版后把旧路径 301 重定向到新位置。每一条都需要一对 RewriteCond/RewriteRule,顺序和转义手写起来很容易出错。

使用方法

  1. 输入你的域名,并按需开启 https 和 www 相关规则。
  2. 选择末尾斜杠的处理方式。
  3. 逐行列出需要重定向的旧路径与新路径。
  4. 把生成的规则复制进站点的 .htaccess 文件。

隐私说明

本工具完全在你的浏览器中运行。输入的内容不会被上传、保存或分享,关闭标签页即随之消失。

常见问题

这个文件应该放在哪里?
放进 Apache 站点根目录下的 .htaccess 文件,需要启用 mod_rewrite——大多数虚拟主机和标准 Apache 安装默认已经开启。
为什么要在两种 www 形式之间选一个?
如果 www.example.com 和 example.com 同时可访问却没有重定向,搜索引擎会把同一个页面当成两个不同的 URL 来看待。把其中一个重定向到另一个,可以把链接和排名信号都汇聚到唯一的规范地址上。
可以和 Meta 标签生成器里的 canonical 一起用吗?
可以——重定向确保只有一种 URL 形式真正对外提供服务,canonical 标签则向仍在抓取旧形式的搜索引擎重申同样的偏好。