I had built a Chrome extension which does this.
Note: I built this for just 2 sites - just for the heck of it - by no means it's professional quality™. Please don't flame me for crappy code :)
Edit: Updated to manifest v2, which brings in certain additional restrictions.
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
}
To install this, create files with filenames as mentioned above the codeblock.
Once all 3 files are created, Click on Chrome Menu → Tools → Extensions. Click the "+" on Developer Mode. Click on Load Unpacked extension and point to the directory where the files are stored.
Edit the files are required, and uninstall and reinstall the extension as mentioned above
1
I had no idea https://encrypted.google.com existed! Cool
– tony19 – 2015-10-09T20:31:46.727You could also consider using the HOSTS file as another method. – Synetech – 2011-05-23T20:33:34.550
@Synetech: Would that redirect just the root page, or anything with a particular domain? – user541686 – 2011-05-23T20:39:59.157
It would redirect the whole domain (or subdomain as the case may be). – Synetech – 2011-05-24T02:53:20.027
@Synetech You're confusing redirecting with resolving, changing the IP address that an address resolves to will not work in this case. He wants to redirect to a different domain, not try to load that domain name on the wrong web server. – Justin Buser – 2012-06-26T09:19:37.253
@JustinBuser, > You're confusing redirecting with resolving No, I'm, not. Under certain circumstances, there is no difference. I use the HOSTS file to redirect all ads to a local web-server that is set up to accept any URL and replace pages with a small tiny bit of HTML that simply says
[ad]
and pictures that are a single transparent pixel. In other words, the ad sites are redirected to localhost (though they easily could be redirected to another machine). – Synetech – 2012-06-26T15:43:11.437@JustinBuser, > changing the IP address that an address resolves to will not work in this case. He wants to redirect to a different domain, not try to load that domain name on the wrong web server He has not indicated what the actual domains he wants to redirect from/to are (he used Google as an example), so it may or may not work. That's why I said he could consider it as a comment and not an answer. – Synetech – 2012-06-26T15:46:35.847
@Synetech No, I'm, not. Under certain circumstances, there is no difference You're just wrong, they are two COMPLETELY different things. Putting an entry in your hosts file pointing Domain A to IP X changes what Domain A RESOLVES to, that does not REDIRECT anything because it never goes to the original IP. REGARDLESS, that WOULD NOT solve anything, putting an entry for www.google.com with the IP address for encrypted.google.com into your hosts file would result in Chrome trying to load www.google.com from the wrong IP, it would not REDIRECT (i.e. the address would remain www.google.com) – Justin Buser – 2012-07-15T14:35:50.073
1@JustinBuser, it would redirect the browser from the original IP to the specified IP. Imagine digging a ditch to re-route water. You dig a ditch, open the dam, then the water goes to the new spot instead of where it would have gone. I never said anything about 302, so you are only arguing semantics. – Synetech – 2012-07-15T17:03:46.133