Назад | Перейти на главную страницу

Запись файла Hosts направлена ​​в каталог на локальном хосте

У меня есть установка каталога с красивым сообщением об ошибке на http://localhost/blocked/. Я хотел бы направлять на своих хостах записи, относящиеся к сайтам, которые я заблокировал для этого, а не просто 127.0.0.1. 127.0.0.1/blocked/ не работает. Я понятия не имею о файле хоста, и это может быть даже не лучший способ достичь моей цели.

Чтобы повторить: Я бы хотел направить все запросы на определенные домены, example.com например, чтобы http://localhost/blocked/.

Файл hosts касается только хорошо, hosts. Не каталоги на этом хосте. Чтобы сделать то, на что вы надеетесь, вам нужно выполнить перенаправление с http: // localhost / к http: // локальный / заблокирован /. Вы можете сделать это с помощью mod_alias или mod_rewrite, если вы используете apache.

Что ж, вот что вы можете подумать:

  • Сделайте записи в своем hosts файл для всех заблокированных доменов, указывая на 127.0.0.1 (Я полагаю, вы уже это делаете)
  • Делать <VirtualHost> блок в вашей конфигурации Apache, который имеет ServerAlias строка для каждого из заблокированных доменов. Или один из них мог быть ServerName и остальное ServerAliases. На этом виртуальном хосте вы можете либо перенаправить все запросы на существующий URL-адрес вашей «заблокированной» страницы с ошибкой, либо (возможно, проще) просто поместить страницу с ошибкой в ​​корень документа.

Вот как бы я это сделал:

<VirtualHost *:80>
    ServerName blocked.localhost
    ServerAlias example.com
    DocumentRoot /var/www/blocked.localhost/htdocs
    # put the usual <Directory> section for that document root
</VirtualHost>

и переместите все содержимое blocked/ каталог (в вашей файловой системе) в /var/www/blocked.localhost/htdocs. Очевидно, что пути - это просто примеры.

Убедитесь, что NameVirtualHost *:80 строка появляется где-то в вашей конфигурации Apache. (Или, если вы хотите перехватывать запросы на порты, отличные от 80, это также можно организовать)