1

What I want: When users type a certain URL, say, reddit.com or cracked.com, that they get automatically redirected to another site... say khanacademy.org or something.

I am volunteering at my local library setting up some computers and they wanted to "encourage" the kids to visit certain sites over other ones. Ethics aside, I was wondering how I should go about implementing this other than a ban in the hosts.txt file.

PS -- Did I say I was a monster for banning Reddit from kids? Yes yes, sorry again... just think of me preventing kids from making more inane rage comics, novelty accounts, and pun threads to fill the site. ಠ_ಠ

3 Answers3

2

One of the easier way is to use the hosts file, it's easy to circumvent if you know the IP of the site you want to go to. Another option is http://www.opendns.com/.

Nifle
  • 34,998
0

As @Arjan pointed out in his comment, the hosts solution does not work for sites that are behind a CDN or in a shared hosting. Another solution is to use a browser extension, for Chrome, you can use the webRequest API:

background.js:

chrome.webRequest.onBeforeRequest.addListener(function (details) {
  return { redirectUrl: 'https://bar.com'};
}, {urls: ['https://foo.com/']}, ['blocking']);

manifest.json

{
  "name": "redirect",
  "description": "Redirect foo to bar.",
  "version": "1.0",
  "permissions": ["webRequest", "webRequestBlocking", "https://foo.com/"],
  "background": { "scripts": ["background.js"] },
  "manifest_version": 2
}

Put these two files in a folder and load the extension by going to Chrome > Settings > Extensions > "Load unpacked extension", and select the directory where the files are.

synack
  • 101
0

The simplest way I can think of is to put the hostname in your hosts file with the ip address of the site you want to redirect it to.

Col
  • 7,043