您是否正在寻找一种经济高效(免费!)的方式将一个域名重定向到另一个域名?在这里,我将指导您使用 Cloudflare 设置免费 URL 转发,包括那些非常重要的 301 通配符重定向。让我们开始吧!
在深入讨论细节之前,让我们先来谈谈为什么 Cloudflare 是 URL 转发的绝佳选择:
- 它完全免费!(谁不喜欢省钱?)
- 您可以设置 HTTPS 重定向,而无需自己的 SSL 证书。
- 它非常用户友好,即使对于那些不懂技术的人来说也是如此。
- Cloudflare 提供更多 安全 和性能优势。
- 它是一个可扩展的解决方案,可以根据您的需求进行扩展。
了解通配符重定向
我们正在设置所谓的“通配符重定向”。这意味着无论有人尝试访问您旧域名上的哪个页面,他们都会被自动发送到您新域名上的相应页面。这就像让一个聪明的交警为您的网站工作一样!
例如,如果我们从 “yourolddomain.com” 更改为 “yournewdomain.com”,这是发生了什么:
http://yourolddomain.com/ → https://yournewdomain.com/
https://yourolddomain.com/ → https://yournewdomain.com/
http://yourolddomain.com/about/ → https://yournewdomain.com/about/
https://yourolddomain.com/blog/post-1/ → https://yournewdomain.com/blog/post-1/
最好的部分?这些都是 301 重定向,它们是永久性的,并传递所有有价值的 SEO 汁液。您的搜索引擎排名会感谢您!
免费 Cloudflare URL 转发分步指南
步骤 1:注册 Cloudflare
首先,前往 Cloudflare 注册一个免费帐户。免费计划就是我们进行此 Cloudflare URL 重定向设置所需要的全部内容。
进入后,点击 “+ 添加网站” 按钮。输入您要重定向的域名(旧域名),然后单击“添加站点”。
步骤 2:设置 DNS 记录
Cloudflare 将扫描现有 DNS 记录。这里涉及一些技术问题,所以请注意!
删除它找到的所有记录(除非您将该域名用于电子邮件或其他重要服务,在这种情况下请保留这些记录)。
现在,我们要添加两个新的 A 记录:
Type: A
Name: @
Content: 192.0.2.1
TTL: Auto
Proxy status: Proxied (orange cloud - very important)
Type: A
Name: www
Content: 192.0.2.1
TTL: Auto
Proxy status: Proxied (orange cloud - very important)
那个 192.0.2.1 IP 地址是虚拟地址。关键部分是启用橙云以确保 Cloudflare 代理流量。
步骤 3:更新您的名称服务器
此步骤对于您的免费 Cloudflare URL 转发功能至关重要。Cloudflare 将为您提供两个名称服务器。
您需要在域名注册商处更新这些内容。让我们看看如何使用两个流行的注册商来执行此操作:
在 Namecheap 上更新名称服务器:
- 登录您的 Namecheap 帐户。
- 转到“域列表”,然后单击要更新的域旁边的“管理”。
- 在“名称服务器”部分,从下拉菜单中选择“自定义 DNS”。
- 输入提供的 Cloudflare 名称服务器。
- 单击绿色复选标记进行保存。
在 GoDaddy 上更新名称服务器:
- 登录您的 GoDaddy 帐户。
- 单击“域”,然后单击相关域旁边的“管理”。
- 滚动到“名称服务器”部分并单击“更改”。
- 选择“输入我自己的名称服务器”,然后输入 Cloudflare 名称服务器。
- 点击“保存”。
请记住,这些更改可能需要长达 24-48 小时才能在全球范围内传播,所以请耐心等待!
步骤 4:为 Cloudflare 301 网站重定向创建页面规则
这就是奇迹发生的地方!前往 “页面规则” 部分并单击 “创建页面规则。”
在 URL 字段中输入:
*yourolddomain.com/*
对于设置,选择 “转发 URL” 和 “301-永久重定向。”
在目标网址字段中输入:
https://yournewdomain.com/$2
那个 / $ 2 最后的至关重要的一点是——它使得通配符重定向能够起作用!
http://yourolddomain.com/about/ → https://yournewdomain.com/about/
https://yourolddomain.com/blog/post-1/ → https://yournewdomain.com/blog/post-1/
特 2 美元 转发 URL 末尾的字符对于使通配符重定向正常工作非常重要。
下面是它的工作原理:
当您在 Cloudflare 中设置页面规则时,您可以使用称为“URL 重写”的语法来操作 URL。 \$2 是一个特殊变量 指的是 URL 模式的第二部分。
对于通配符重定向,URL 模式为 *你的旧域名.com/*。 * 是通配符,可匹配任何字符(包括无字符)。 \$2 变量指的是第二个 *
在模式中,它匹配域名后的任何路径或查询字符串。
当您在转发 URL 末尾添加 \$2 时,Cloudflare 会将其替换为原始 URL 中的实际路径或查询字符串。这样重定向就可以保留原始 URL 结构和查询参数。
下面是一个例子:
Original URL: http://yourolddomain.com/path/to/page?query=string
URL Pattern: *yourolddomain.com/*
Forwarding URL: https://yournewdomain.com/\$2
Destination URL: https://yournewdomain.com/path/to/page?query=string
如您所见,\$2 变量被替换为原始路径和查询字符串,从而实现保留原始 URL 结构的无缝重定向。
如果您没有包含 \$2 变量,则重定向只会转到 https://yournewdomain.com/。
因此,简而言之,\$2 变量是 Cloudflare URL 重写语法中的一个强大工具,可让您创建灵活、动态的重定向,同时保留原始 URL 结构。
解决 Cloudflare 中 URL 转发的常见问题
虽然在 Cloudflare 中设置 URL 转发相对简单,但您可能会遇到一些问题。别担心,我们会帮您解决!以下是一些常见问题及其解决方案:
1. 重定向不起作用
- 症状: 您的重定向不起作用,并且您收到“404 未找到”或“500 内部服务器错误”消息。
- 解决方案: 检查您的 DNS 记录是否设置正确,您的名称服务器是否已更新。此外,请确保您的页面规则设置正确,具有正确的 URL 模式和转发 URL。
2. 重定向循环
- 症状: 您遇到了重定向循环,即浏览器不断在两个或多个 URL 之间重定向。
- 解决方案: 检查您的页面规则是否设置正确,并且您没有通过将两个 URL 指向彼此来创建重定向循环。此外,请确保您的 URL 模式足够具体,以避免匹配多个 URL。
3. 子域名重定向不起作用
- 症状: 您的子域名重定向不起作用,并且您收到“404 未找到”或“500 内部服务器错误”消息。
- 解决方案: 检查您是否为子域名设置了单独的页面规则,并设置了正确的 URL 模式和转发 URL。此外,请确保为子域名正确设置了 DNS 记录。
4. URL 参数未保留
- 症状: 您的 URL 参数(例如,
?utm_source=google
) 在重定向期间不会被保留。 - 解决方案: 确保您使用的是
\$2
转发 URL 中的变量来保留 URL 参数。
5. 重定向不适用于特定浏览器
- 症状: 您的重定向对某些浏览器有效,但对其他浏览器无效。
- 解决方案: 检查您的 SSL 证书是否有效且配置正确,因为某些浏览器对 SSL 错误的限制可能更为严格。此外,请确保您的页面规则设置正确,并且 URL 模式和转发 URL 正确。
通过遵循这些故障排除提示,您应该能够解决 Cloudflare 中 URL 转发的常见问题
总结
就这样!您刚刚使用 Cloudflare 设置了免费的 URL 转发,并完成了 301 通配符重定向。此方法为管理域重定向提供了一个强大且可扩展的解决方案。
最好的部分?您现在可以取消旧域名上的任何托管计划。您的重定向将继续有效,发送所有有价值的流量(和 SEO 汁) 到您的新网站。
你还应该查看我的指南,了解如何 使用 Cloudflare Workers 创建 URL 缩短器 点击此处。