Создание страницы ошибки для несуществующего субдомена

У меня есть несколько поддоменов на одном из моих сайтов. Когда кто-то переходит на несуществующий поддомен, я хочу перенаправить на страницу 404 на моем основном домене.

noexist.example.com --> example.com/404.php?subdomain=noexist (или без строки запроса, если HTTP_REFERRER может дать мне эту информацию)

Я запускаю LAMP на VPS с установленной cPanel. Я могу редактировать файл зоны DNS для домена через WHM.


person WNRosenberg    schedule 04.10.2010    source источник
comment
Не перенаправлять при ошибке. Просто пусть он выдает ошибку напрямую (отображает ошибку 404 напрямую вместо перенаправления)... В противном случае вы нарушите стандарт, выдав 30-кратную ошибку для несуществующего местоположения, а затем ошибку 404 для местоположения, которое существует...   -  person ircmaxell    schedule 05.10.2010
comment
Как говорит @ircmaxell, с добавлением того, что вы можете выбрать (1) настройку виртуального хоста *.example.com для несуществующих поддоменов (при условии, что они все явно определены в другом виртуальном хосте) и (2) с правильными настройками журнала Apache может регистрировать запрошенный http-хост и реферер для вас, и для анализа этих журналов для получения статистики доступно множество инструментов.   -  person Wrikken    schedule 05.10.2010
comment
@ircmaxell Redirect, возможно, было неправильным словом. Я хотел бы показывать страницу 404 независимо от физического местоположения страницы.   -  person WNRosenberg    schedule 05.10.2010


Ответы (2)


После нескольких часов обращения в центр поддержки моего сервера я, наконец, настроил субдомены с подстановочными знаками.

Теперь, когда пользователь переходит на subdomain.example.com, если этот субдомен был явно настроен через cPanel, он будет работать соответствующим образом. Если этот поддомен не был настроен явно, то он будет внутри перенаправлен на example.com, где я могу получить субдомен, который они использовали, и обработать его по мере необходимости (показать страницу, перенаправить на поддомен или показать ошибку 404).

person WNRosenberg    schedule 04.11.2010

Существует множество руководств о том, как создать пользовательскую страницу 404, нет необходимости перенаправлять, поскольку Apache должен позаботиться об этом за вас.

person Phill Pafford    schedule 05.10.2010
comment
Эти ссылки предназначены для настройки страницы 404 на существующем домене. В моем сценарии пользователь может перейти на sub.example.com, где субдомен не был создан и не существует. В настоящее время, когда браузер сталкивается с несуществующим поддоменом, он просто сообщает вам, что не может разрешить сервер. Вместо этого я хочу перейти на страницу с ошибкой. - person WNRosenberg; 05.10.2010