CloudFlare的url转发相关介绍

在上一篇博文中,我介绍了页面规则,并展示了如何使用它来控制CloudFlare的功能,如应用程序、性能和安全设置。这里我将解释如何使用相同的Page Rules接口来启用URL转发。


对于许多早期CloudFlare用户来说,URL转发是一个令人惊讶的请求。一些主机提供商和注册商只对这项功能收费,这看起来很愚蠢。我们通常会向那些想要做URL转发的人提供如何通过HTACCESS进行转发的说明。当我们创建支持Page Rules的基础结构时,我们意识到现在可以以一种简单而强大的方式支持URL转发。

基本的例子


假设你有一个谷歌+的配置文件,你想让任何人都可以很容易地通过简单地访问一个URL:


www.example.com/ +


要设置转发,去页面规则管理页面,可以在设置菜单下找到你的CloudFlare我的网站页面上每个域旁边。创建一个模式来匹配你想要转发的URL:


* example.com/ +


这个模式将匹配:


http://example.com/+

http://www.example.com/+

https://www.example.com/+

https://blog.example.com/+

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

等等……


它将不匹配:


http://www.example.com/blog/+[+前面的额外目录]

http://www.example.com+[无尾斜杠]


一旦我创建了匹配我想要的模式,单击转发开关。这暴露了一个字段,我可以在其中输入我想要转发的请求的地址。我的谷歌+配置文件在以下URL:


https://plus.google.com/117631136894743822101


如果我在转发框中输入它,并在几秒钟内单击Add Rule按钮,任何匹配我输入的模式的请求将自动以302重定向转发到新URL。它是光滑的。

先进的例子


基本转发对于像将流量重定向到谷歌+这样的事情很好,但是如果您想要做一些像强制所有流量到您的根域使用www子域这样的事情呢?如果您使用基本的重定向,那么您将丢失URL中的其他内容。


例如,你可以设置模式:


example.com *


并将其转发给:


www.example.com


但如果有人进来:


example.com/some-particular-page.html


然后它们会被重定向到:


www.example.com


不是你想让他们去的地方


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


解决办法是使用变量。当可以在转发地址中引用时,每个通配符对应一个变量。变量用a表示

1,以引用使用$2的第二个通配符,依此类推。在上面的例子中,要修复从根到www的转发,你可以使用相同的模式:


example.com *


然后你需要设置以下URL来转发流量:


www.example.com 1美元


在这种情况下,如果有人去:


example.com/some-particular-page.html


它们将被重定向到:


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


页面规则介绍:URL转发


或者,如果您想要一个比上面基本示例中描述的更强大的谷歌+转发器,您可以设置以下模式:


* example.com/ + *


把它转发到你的个人资料中,比如:


https://plus.google.com/117631136894743822101 2美元


注意URL结尾的$2,它表示上面模式中的第二个通配符(*)。然后,以下所有链接将正常工作:


http://example.com/+

http://example.com/+/posts

http://example.com/+/about

http://example.com/+/photos

http://example.com/+/videos


故障排除


如果你不能让转发正常工作,确保你从CloudFlare DNS管理器转发的子域(橙色云)是启用的。还要检查多个规则是否以意想不到的方式相互作用。规则的优先级将取决于它们创建的时间,因此,如果它们的行为不符合您的预期,您可能需要删除规则并以不同的顺序重新创建它们。


使用页面规则转发允许许多可能的情况,过去需要你在HTACCESS中创建复杂的重定向规则。试一试吧,如果你发现了强大的新功能,请在下面的评论中告诉我们。
posted @ 2022-04-27 20:05  总统先生  阅读(974)  评论(0编辑  收藏  举报