404 ошибка, для несуществующих поддоменов

Всем привет!

Возможно у кого-то уже возникала подобная проблема. Суть такова — на хостинге для поддоменов прописано следующее правило *.domen.ru, т.е. при наборе любого поддомена, типа hfhw.domen.ru, сайт будет работать.
Сделано это для того, чтобы работали все необходимые поддомены для городов, типа msk.domen.ru, spb.domen.ru и так далее.

Города, добавляются через админку, есть соответствие «Москва»-> msk.domen.ru, «Владивосток» -> vladivosotok.domen.ru и т.д.

Мне необходимо при вводе чего-то подобного «fhfhf.domen.ru» делать проверку на существование в базе города с URL «fhfhf.domen.ru» и если его нет, то выдавать 404 ошибку.

На ум пришло только одно решение, что нужно делать такую проверку в классе modRequest, метод handleRequest.

Вопрос: Как правильно переопределить класс «modRequest» (возможна есть какая-то системная переменная)? Или может Вы решали или решили бы эту задачу по-другому?

Спасибо :)
Андрей
07 июня 2016, 14:22
modx.pro
1 602
0

Комментарии: 3

Василий Наумкин
07 июня 2016, 17:24
+2
bezumkin.ru/sections/tips_and_tricks/2439/

Если нет нужного хоста — отправлять на дефолтную ошибку.
    Андрей
    07 июня 2016, 18:03
    0
    Все хорошо, но 404 кода ответа все равно не получается. Я так понимаю, код ответа был выставлен раньше в методе handleRequest.

    Здесь можно увидеть это — volgograd1.certa.ru, перекидывает на 404 страницу, но код ответа для страницы 302.

    Перекидываю вот таким вот образом — $modx->sendRedirect('http://'.$_SERVER['HTTP_HOST'].'/404', array('responseCode' => 'HTTP/1.1 404 Not Found'));
    хотя это не важно, каким образом переадресовывать, если сама страница volgograd1.certa.ru дала ответ 302, а нужно 404.
      Андрей
      07 июня 2016, 20:15
      0
      Кто знает, как правильно сделать свой кастомный класс «modRequest»? Хочу переопределить метод handleRequest, больше других вариантов не вижу…
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        3