在Chrome中重定向网址?


37

Chrome是否有任何扩展程序,可让我强制将来自特定域的URL重定向到另一个域?

(例如重定向http://www.google.comhttps://encrypted.google.com。)

注意:我正在寻找一个任意的重定向器,而不是 KB SSL Enforcer,它仅适用于重定向到HTTPS的特定任务。


您也可以考虑将HOSTS文件用作另一种方法。
Synetech

@Synetech:会只重定向根页面或具有特定域的任何内容吗?
Mehrdad

它将重定向整个域(或子域,视情况而定)。
Synetech

1
@JustinBuser,它在浏览器从原来的IP指定IP重定向。想象一下挖一个沟渠重新排水。您挖一条沟,打开水坝,然后水流到新的地方,而不是去了哪里。我从没说过有关302的任何内容,因此您只是在争论语义。
Synetech

1
我不知道crypto.google.com存在!酷
tony19年

Answers:


32

我已经建立了一个Chrome扩展程序来做到这一点。

注意:我仅针对2个站点构建了此文件-只是针对它的扩展-绝不是专业质量™。请不要因为糟糕的代码而解雇我:)

编辑:更新为清单v2,它带来了某些其他限制。

manifest.json

{
  "name": "URL Redirect",
  "version": "0.2",
  "description": "Checks URL and redirects as required.",
  "background": { 
     "page":"bg.html"
     },
   "manifest_version": 2,
   "content_scripts": [
   {
     "matches": ["http://*/*", "https://*/*"],
     "js": ["content.js"]
   }
   ],
  "permissions": ["tabs"]
}

bg.html

<html>
  <script src="redirect.js"></script>
</html>

redirect.js

chrome.extension.onRequest.addListener(function(request, sender) {
        chrome.tabs.update(sender.tab.id, {url: request.redirect});
    });

content.js

var pattern=/\bBlocked/;
var viewtext_base_url = "http://viewtext.org/article?url=";
var newurl;
if (pattern.test(window.document.title)) // if it matches pattern defined above
{
  newurl = viewtext_base_url + encodeURIComponent(window.location.href);
  chrome.extension.sendRequest({redirect: newurl}); // send message to redirect

}

要安装此文件,请使用代码块上面提到的文件名创建文件。

在此处输入图片说明

创建所有3个文件后,单击Chrome菜单→工具→扩展名。在开发人员模式下单击“ +”。单击“加载未压缩的扩展名”,然后指向文件存储的目录。

在此处输入图片说明

编辑文件是必需的,然后如上所述卸载并重新安装扩展名


天哪,酷!如何安装?(对不起,我没有开发Chrome扩展程序的经验,哈哈。)
Mehrdad

@Mehrdad扩大了答案
Sathyajith Bhat

ofcourse,如果你不看编辑的文件,我可能已经挤满了文件中的Chrome扩展....
Sathyajith铢

美丽,非常感谢!它也教我一些JavaScript!:D
梅尔哈德

欢迎!我已开发此程序来学习Chrome扩展程序开发。(并绕开咳嗽 websense 咳嗽)。
Sathyajith Bhat

12

我知道我回答这个问题有点晚了,但我还是想为以后的读者回答这个问题。看一下

请求-Chrome扩展程序可修改网络请求。

目前,您可以设置以下规则

  1. 请求URL 重定向到另一个URL。
  2. 阻止一些请求。
  3. 用另一个字符串替换 URL中的某些部分。(甚至可以替换整个URL)
  4. 在HTTP请求和响应中添加/删除/修改标题。您现在只能为指定的URL设置标题修改规则。

屏幕截图可帮助您进一步了解:

  • 规则清单

规则清单

  • 规则类型清单

规则类型清单

  • 新重定向规则

创建重定向规则

路线图中有很多东西需要按要求覆盖

  • 设置自定义标题(完成)
  • 切换用户代理
  • 在请求中设置参数(完成)使用重定向/替换功能来完成此操作。

..还有更多。

PS:我创建了这个,所以如果您觉得这个没有帮助,您可以怪我:)


现在,“请求中”显示“标题修改”。
sachinjain024

1
这是一个很棒的扩展!我登录只是为了给您+1,希望更多的人
对此有所

Regex支持也可在Requestly中获得
sachinjain024

截至目前,@ sachinjain024指向github repo的链接已失效。
Andrei Kucharavy

9

如果您有兴趣,我已经开发了一个预包装的用户友好重定向器Switcheroo

为任何http请求设置自定义重定向规则,即页面,脚本,图像等。使用简单的字符串替换来执行此操作。


4
开源?:)
user72923

1
太糟糕了,Switcheroo不支持切换HTTP方案(如问题示例中所示)。
Martijn 2014年

2
同样糟糕的是,它需要获得“读取和更改您访问的网站上的所有数据”的权限才能重定向。
Taylan'2

3

有点晚了,但是这个扩展一定可以解决问题: Redirector

这是一个任意重定向器


可以很好地避免Facebook起始页,匹配:http?://www.facebook.com,替换:(。*),替换:facebook.com/messages
lony 2014年

3
哦,不,它已被删除?屏幕截图看起来很棒!(正则表达式等等,这就是我所需要的)
Don Hatch 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.