@IvanIF

При загрузке страницы вылетело исключение. На какую страницу делать редирект?

Я загружаю страницы сайта через следующий блок:
try{
   // Код загрузки страницы
   // Тут подключаются другие файлы и т.д.
}catch (Exception $e){
   // ???
}
Если при загрузке страницы вылетело исключение, надо ли делать редирект на страницу ошибки? Есть ли специальный код для ошибок такого рода? Это ведь говорит о том, что на сервере что-то произошло? Как поисковые системы отнесутся к редиректу главной страницы, если при индексации вылетит исключение 0_0
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Редирект в случае ошибки сделать невозможно.
Потому что в случае ошибки сервер обязан отдать НТТР статус с кодом 5хх
А редирект выдает код 3хх
То есть, если сделать редирект, то клиент не узнает, что это ошибка.

При возникновении ошибок поведение боевого сервера должно быть стандартным:
1. залогировать ошибку для программиста
2. Отдать корректный код статуса для НТТР клиента
3. В случае, если запрос делал браузер, то желательно показать посетителю сайта какую-то осмысленную страницу.

Можно, кстати, обойтись без try-catch, Правильно ли я понял централизованную обработку исключений в PHP?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Правильно выдавать ошибку 503, причем тут редиректы и как они возникли в вашем мозгу одному богу известно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы