Страница перенаправления PHP - PullRequest
0 голосов
/ 27 мая 2011

У меня есть веб-сайт Kohana, и я хочу, чтобы, если кто-то изменил текущий URL (в браузере, когда он посещает веб-сайт), и эта конкретная страница не существовала, он должен быть перенаправлен на текущую страницу (где он сейчас) или на домашней странице, но без отображения ошибки.

есть идеи о том, как это можно сделать?

1 Ответ

1 голос
/ 27 мая 2011

В руководстве приведены основные шаги, которые необходимо выполнить.

В основном вы заменяете существующий обработчик исключений, определяя класс с именем Kohana_Exception.

.обработчик, вы бы проверили номер ошибки и, если это 404, затем выполните перенаправление на основе ссылки HTTP.

class Kohana extends Kohana_Core
{
    public static function handler(Exception $e)
    {
        if($e instanceof Kohana_Request_Exception)
        {
            Request::current()->redirect(Request::initial()->referrer());
        }
    }
}

Это должно быть помещено, например, application/classes/kohana.php Обратите внимание, что это основная суть,Вы должны расширить это и проверить, установлен ли HTTP_Referer и основан ли он на том, что пользователь действительно пришел с вашего сайта.

Также обратите внимание, что это может вызвать путаницу, поскольку люди часто не замечают, что они были перенаправлены.

Проверьте руководство на предмет того, что вы должны делать в обработчике исключений (например, передать его обработчику по умолчанию.

...