У меня есть установка каталога с красивым сообщением об ошибке на 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
и остальное ServerAlias
es. На этом виртуальном хосте вы можете либо перенаправить все запросы на существующий 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, это также можно организовать)