如果我们某个域名想做 301 重定向,或者直接是 URL 转发(URL forwarding),那么实现方法有多种。最简单的就是直接使用 DNS 服务商提供的 URL 转发服务,比如 Cloudflare 自己提供的。此外,也可以把域名先解析到一个主机,然后再在这个主机上配置 URL 转发功能,一般是通过 NGINX 或者 Apache 实现的。那么现在我们不想搞个主机这么麻烦,所以本文介绍直接使用 Cloudflare 配置 URL 转发的教程,也就是域名 301 或者 302 重定向教程。
一、使用 Cloudflare 的 Page Rules 设置 URL 转发
设置 URL 转发需要两步,缺一不可。
1、添加 Page Rules 规则
登录 Cloudflare 之后,点击要管理的域名,然后如下位置即可看到 Page Rules。免费套餐每个域名可以添加 3 条 Page Rules,如果需要更多,需要付费购买,基本上 $1 一条。
如上图所示点击 Create Page Rule 之后,可以看到如下设置。
第一行需要写入一个正则表达式,如果我们只是单纯的想转发一个域名,不管怎样都转发,那么可以填写如下的正则表达式:
*example.com/*
把 example.com 换成你的域名即可。
然后下面选择 Forwarding URL,再选择 301 或者 302(区别在下面)重定向,然后在最后一行输入想要转发的目的连接。
点击 Save and Deploy 即可完成设置。更多的正则表达可以参考《如何借助 Cloudflare 执行 URL 转发或重定向?》。
2、添加域名解析
完成上面的 Page Rules 设置之后并不是就完成了,还需要给域名添加一个 A 记录解析,否则 Page Rules 是不会生效的。如下所示,点击 DNS,然后添加两条记录。
一条记录是 @ 记录,另外一条是 www 记录,Type 都选 A,Name 就是 @ 和 www,IPv4 address 随便写,可以写 114.114.114.114,反正都是要被转发的。
添加完成之后,我们访问域名看看,应该就生效了。
二、域名 301 / 302 重定向区别
1、什么是 301 重定向?
301 重定向/跳转一般,表示本网页永久性转移到另一个地址。
301 是永久性转移 (Permanently Moved), SEO 常用的招式,会把旧页面的 PR 等信息转移到新页面;
2、什么是 302 重定向?
302 重定向表示临时性转移 (Temporarily Moved ),当一个网页 URL 需要短期变化时使用。
3、301 重定向与 302 重定向的区别
301 重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
302 重定向是临时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回 302 代码,搜索引擎认为新的网址只是暂时的。
参考《HTTP 状态码 301 和 302 概念简单区别及企业应用案例》。