Как делал раньше? Два метода: guestArea() и userArea() тупо помещались в начало конструктора или экшена (заранее зная их уровень доступа), в методе производилась проверка - если есть $this->user, а метод или класс предназначен для гостя, то редиректим на главную страницу для юзера (примерно так) и наоборот если юзера нет а метод или класс для юзера, то редиректим на главную для гостя, да и ещё и главная тупо разбита ифом: гость или юзер с выдачей соответствующего контента (на одной и той же странице либо подменой вида в одном и том же шаблоне). Сейчас все потихоньку усложняется: пытаюсь сделать контроль на уровне роутера, то есть идёт тупо проверка наличия сессии юзера и в роутере подменяется неймспейс, а именно ему дописываем имя модуля (папки семества контроллеров) user или guest. Так вот вопрос: если я ЮЗЕР и нахожусь по адресу /page, то у меня подключен неймспейс (например) - app\controllers\user\PageController, теперь я грохнул сессию, обновляю страницу и мне вылетает ошибка (для админа) - Контроллер app\controllers\guest\PageController не найден. То есть поясню: у меня ошибку ловит обработчик и выдаст 404 (для пользователя) со ссылкой на главную, то есть пользун так и так попадёт на главную, но сначала увидит отлуп и ему нужно будет нажать кнопку. Это нормально так делать? Или надо искать пути именно плавного приземления пользуна на главную или гостя или юзера, если сменился его статус? p.s. И как наука смотрит на то, чтобы 404 автоматом редиректить на главную? У меня есть режим логирования ошибок, так что мне необязательно получать от пользователей сообщения о найденных ошибках, я это и так в логах увижу, а пользуна просто сразу приземлять на главную, так допустимо или там SEO косо смотрит на это?
Нет, не нормально. Нажал "выход" - оказался на той же странице, но уже как гость. Если гость к ней доступа не должен иметь, выводить "доступ запрещен" и ссылка на главную.
ну так у меня так и сделано не нужно ли его приземлять на главную соответственно его статуса, есть главная гостя, есть главная юзера, у меня он туда попадёт только после смены статуса, показа страницы ошибки и самостоятельного нажатия кнопки На главную а если автоматом буду его редиректить, как раньше проверками редиректил, но теперь со страницы ошибки сделать авторедирект? как на это наука смотрит
и то и то)) у меня в модуле user и в модуле guest есть свой HomeController, они работают по пути /, потому что у меня шаблоны и виды для них разные, им только неймспейс дописывается относительно модуля я тут подумал что некорректно задал вопрос, вопрос скорее звучит так: считают ли ПС нерелевантными страницы с авторедиректом, то есть робот увидит что реально есть правильная страница 404 и на ней есть ссылка на главную, но как он смотрит на то, что на странице 404 стоит авторедирект на главную, например, с задержкой - 0? Это косяк? вот так наверное надо было мне задавать
а если редирект не в html прописан будет? то есть страница с кнопкой на главную остаётся а редирект делается в другом месте
тут скорее всего не то что ему накодили, а накодили ли ему проверку отображения 404 определённое время, может у меня пользун нервный и сразу нажмёт На главную - это и будет тот же самый редирект без задержки, кнопка то есть в html, жми когда хочешь получается )))