Что я хочу: когда пользователи вводят определенный URL, скажем, reddit.com или cracked.com, они автоматически перенаправляются на другой сайт ... например, khanacademy.org или что-то в этом роде.

Я работаю волонтером в своей местной библиотеке, настраивая некоторые компьютеры, и они хотели "побудить" детей посещать определенные сайты поверх других. Помимо этики, мне было интересно, как мне следует реализовать это, кроме запрета в файле hosts.txt.

PS - Я говорил, что был монстром за то, что запретил Reddit детям? Да, да, извините еще раз ... просто подумайте о том, что я не позволю детям создавать больше бессмысленных комиксов ярости, новинок и каламбуров, чтобы заполнить сайт. ಠ_ಠ

3 ответа3

2

Один из более простых способов - использовать файл hosts , его легко обойти, если вы знаете IP-адрес сайта, на который хотите перейти. Другой вариант - http://www.opendns.com/.

0

Как отметил @Arjan в своем комментарии, решение hosts не работает для сайтов, которые находятся за CDN или на общем хостинге. Другим решением является использование расширения браузера, для Chrome вы можете использовать API webRequest :

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
}

Поместите эти два файла в папку и загрузите расширение, перейдя в Chrome > Settings > Extensions > "Load unpacked extension" и выберите каталог, в котором находятся файлы.

0

Самый простой способ, который я могу придумать, это поместить имя хоста в файл hosts с IP-адресом сайта, на который вы хотите перенаправить его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .