1

Я хочу, чтобы файл hosts блокировал www.url.com/page без блокировки www.url.com

шаг 1
//////////////
Я добавил 127.0.0.1 www.apple.com в мой файл /etc/host

Когда я выполняю ping www.apple.com я получаю желаемый результат:

64 bytes from localhost (127.0.0.1):

Когда я пытаюсь получить доступ к www.apple.com в браузере, он выдает мне нужную ошибку, и я не могу получить доступ к сайту www.apple.com.

Так что нет проблем с моим кешем браузеров.

шаг 2
////////////////////
Затем я добавил /itunes/ к строке выше, что делает 127.0.0.1 www.apple.com/itunes/

Когда я делаю ping www.apple.com/itunes/ я получаю желаемый результат

64 bytes from localhost (127.0.0.1):

НО!!!! Когда я www.apple.com/itunes в свой браузер, я могу подключиться к сайту itunes компании Apple, чего не ожидается. Запись 127.0.0.1 www.apple.com/itunes/ в моем файле /etc /hosts должна перевести меня на 127.0.0.1, когда я www.apple.com/itunes/ в моем браузере

заключение
//////////////// файл / etc / hosts игнорирует субурлы, такие как / itunes / или / ipod /, но прекрасно работает с такими доменами, как www.apple.com

Почему 127.0.0.1 www.apple.com/itunes/ вызывает желаемый результат, а 127.0.0.1 www.apple.com не дает желаемого результата?

Не говорите мне кеш браузера, потому что 127.0.0.1 www.apple.com вызывает желаемый результат.

ОБНОВЛЕНИЕ С тех пор я обнаружил, что невозможно сделать то, что я пытаюсь сделать с файлом hosts.

Файл /etc /hosts может только перенаправлять домены и не перенаправлять страницы внутри этих доменов.

ответ решен. благодарю вас.

2 ответа2

3

Вы задаете невозможный вопрос.

Вы утверждаете, что правильный ответ неверен, и мы не можем вам этого сказать.

Кроме того, ваше понимание "ping" ограничено - вы не можете пропинговать URL, только IP-адрес или доменное имя. То, что это работает вообще, потому что это делает своего рода усечение.

Чтобы понять, насколько далеко базируется ваше утверждение, вам необходимо понять, как работает запрос веб-страницы.

Когда URL-адрес вводится в браузер, браузер разбивает его на части, извлекая имя домена. Затем он разрешает доменное имя в IP-адрес. (Вот где файл hosts был использован).

После этого браузер подключается к IP-адресу и выдает команду "GET" с оставшейся частью URL-адреса (если он использует HTTPS, он делает это в зашифрованном сеансе). [FWIW также указывает веб-серверу имя домена, которое он использовал, чтобы файловый сервер мог поддерживать несколько доменных имен на 1 IP]

Таким образом, проблема должна быть в самом браузере.

Ваш пост также выглядит несколько противоречивым в отношении того, что вы поместили в файл hosts.

Вы не можете правильно поставить URL (или "suburl"), как вы его назвали. Вполне возможно, что именно здесь возникла ваша проблема, но, не зная точно, что вы ввели, это поведение невозможно воспроизвести.

3

Файл хоста, как следует из названия, предназначен для HOST, а не для URL. Так что apple.com/itunes ничего не значит. Это не хозяин.

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