首页 > 解决方案 > 在 Chrome 中,最终使用带有正则表达式的重定向扩展,如何将所有 facebook.com URL 重定向到 mbasic.facebook.com URL

问题描述

已经为此寻找了几天,似乎没有人和我的想法相同,将 Facebook url 从普通网站重定向到 mbasic 版本网站。

我的想法是始终将所有“正常”的 facebook.com 网址重定向到 mbasic.facebook.com 网址。当我单击网络上的链接时,以及当我在地址栏中输入 URL 时。最好匹配 facebook.com, www.facebook.com, http(s)://facebook.com, http(s)://www.facebook.com

——本质上,让他们都有一个“mbasic”。在“facebook”之前,再也看不到普通的 facebook 网站,而只使用基本版本。

.

我在 Chrome 中发现了一些使用正则表达式(现在使用 Requestly)的重定向器扩展,我想我已经接近了,但这个正则表达式似乎无效:

^((http(s)?:\/\/)?)((www.)?)facebook.com(\/)?.*$

这就是我在 RegExr 上匹配的内容:https ://i.imgur.com/eljJ1vP.png 。也试过这个,但显然也无效:

^(http://)*(www.)*((?!mbasic).)*.$

其他时候使用正则表达式或通配符匹配,我可以查询 facebook.com 以更改为 mbasic.facebook.com,但每当我输入事件页面 (facebook.com/events/ID) 时,它都不会重定向,或者“mbasic”部分将被重复,从而导致“mbasic.mbasic.facebook.com”重定向。

还查看了用户脚本和更改主机文件,但我似乎还没有找到解决方案。希望你能有所帮助。如果需要,请询问更多信息!提前致谢。

标签: regexfacebookgoogle-chrome-extensionurl-redirection

解决方案


由于您已经提到您正在使用Requestly,让我尝试使用 Requestly Redirect Rule 和通配符运算符提出一个简单的解决方案。

尝试重定向规则:

Source - Url Matches (WildCard) http*://*facebook.com*
Destination - http$1://mbasic.facebook.com$3

解释很简单

  1. 第一个匹配 ($1) - 's' 如果是 https 协议或 '' 如果是 http 协议
  2. 第二场比赛 ($2) - facebook 的子域,例如www.或任何其他
  3. 第三场比赛(3 美元)- facebook.com 之后的任何内容

我们有兴趣更改 $2 的值mbasic并保持 $1、$3 不变,这就是在 Destination 字段中所做的。

这是一个截图供参考 -

在此处输入图像描述

我试过了,它看起来工作正常。

免责声明- 我在 Requestly 工作。如有更多问题,请随时通过@requestlyIOcontact@requestly.io与我们联系或发推文


推荐阅读