regex - 在 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”重定向。
还查看了用户脚本和更改主机文件,但我似乎还没有找到解决方案。希望你能有所帮助。如果需要,请询问更多信息!提前致谢。
解决方案
由于您已经提到您正在使用Requestly,让我尝试使用 Requestly Redirect Rule 和通配符运算符提出一个简单的解决方案。
尝试重定向规则:
Source - Url Matches (WildCard) http*://*facebook.com*
Destination - http$1://mbasic.facebook.com$3
解释很简单
- 第一个匹配 ($1) - 's' 如果是 https 协议或 '' 如果是 http 协议
- 第二场比赛 ($2) - facebook 的子域,例如
www.
或任何其他 - 第三场比赛(3 美元)- facebook.com 之后的任何内容
我们有兴趣更改 $2 的值mbasic
并保持 $1、$3 不变,这就是在 Destination 字段中所做的。
这是一个截图供参考 -
我试过了,它看起来工作正常。
免责声明- 我在 Requestly 工作。如有更多问题,请随时通过@requestlyIOcontact@requestly.io
与我们联系或发推文
推荐阅读
- python - IndexError:Python 升级后布尔数组不再匹配
- javascript - 将画布图像从js提取到烧瓶,但图像的背景变成白色透明
- php - CodeIgniter 中的 SQL Server 2005 连接
- amazon-web-services - 使用无服务器脚本而不是 UI 将 API 网关作为触发器添加到 Lambda 函数
- jasper-reports - 表格 columnFooter 中的文本打印在每一页
- json - 在 Go 中解组类似表的 JSON
- java - 如何在游戏中实现图形而不是使用像素点?
- c++ - 如何输出到子目录中的文件?
- python - 使用 bs4 更改属性值后更新网站
- sql - 检查列是否具有重复自身的单个值