跳转到内容
搜索文档

使用 Page Rules 实现 URL 转发

最后更新 查看 MarkdownAgent 设置

页面规则可将流量转发或重定向到其他 URL,但它只是 Cloudflare 提供的重定向方案之一。


使用页面规则进行重定向

使用页面规则配置 URL 转发或重定向:

  1. 在 Cloudflare 仪表板中,前往 Page Rules(页面规则) 页面。

    Go to Page Rules ↗
  2. 选择 Create Page Rule(创建页面规则)

  3. If the URL matches(如果 URL 匹配) 下输入与该规则匹配的 URL 或 URL 模式。

  4. Pick a Setting(选择设置) 下拉菜单中选择 Forwarding URL(转发 URL)

  5. Select status code(选择状态码) 中选择 301 - 永久重定向302 - 临时重定向

  6. 输入目标 URL。

  7. 选择 Save and Deploy Page Rule(保存并部署页面规则)


转发示例

假设你希望站点访客通过多种 URL 模式访问网站。例如,页面规则中的 URL 模式 *www.example.com/products*example.com/products 匹配以下内容:

http://example.com/products

http://www.example.com/products

https://www.example.com/products

https://blog.example.com/products

https://www.blog.example.com/products

但不匹配以下示例:

http://www.example.com/blog/products(额外目录)

http://www.example.comproducts(缺少斜杠)

创建好符合你预期的匹配模式后,选择 Forwarding(转发) 开关。随后会显示一个输入框,用于填入请求要转发到的地址。

https://example.com/products

如果你在转发框中输入上述地址并选择 Add Rule(添加规则),几秒内所有匹配该模式的请求将自动使用 HTTP 302 重定向状态码转发到新 URL。


高级转发选项

如果你使用的是基础重定向,例如将根域名(example.com)转发到 www.example.com,则 URL 中的其他路径信息会丢失。

例如,你可设置以下模式:

example.com

并将其转发到:

http://www.example.com

但如果有人访问 example.com/some-particular-page.html,该请求会被重定向到:

www.example.com

而不会重定向到:

www.example.com/some-particular-page.html

可用变量解决该问题。每个通配符在转发地址中都对应一个变量。变量写法为 $(美元符号)加数字。第一个通配符使用 $1,第二个使用 $2,依次类推。

要修复上述 apex 到 www 的转发问题,可使用同样的模式:

example.com/*

然后将转发目标设置为:

http://www.example.com/$1

在此场景中,若有人访问:

example.com/some-particular-page.html

将重定向到:

http://www.example.com/some-particular-page.html

这篇文档对您有帮助吗?