У меня серьезная проблема с моим веб-приложением при получении данных через API из источников, и контент подвергается цензуре / удалению из-за того, как Google его интерпретирует.По данным Google на панели моего веб-мастера:
Ошибка сервера 18 216 ошибок
Не найдено 13 333 ошибки
Не соблюдено 9 ошибок
Другие 190 ошибок
В живой версии моего приложения я показываю возвращенные ошибки, просто делая (я использую codeigniter):
show_error($e->getMessage());
Я так и сделалпотому что мне нужно было показать ошибку, возвращенную из источника, без добавления большого количества кода, но я не думал о негативном эффекте, который должен был произойти позже (я в своем первом опубликованном приложении, мне еще многое предстоит узнать).
Сейчас я работаю над новым выпуском, но до этого мне было интересно, какой код состояния HTTP будет подходящим для исправления:
204 НетСодержимое
404 Не найдено
410 Пропал
какой-то другой?
ОБНОВЛЕНИЕ
Нет проблем скод или сервер, код состояния HTTP 500 генерируется из-за show_error($e->getMessage());
, и я хочу использовать его так же, нодобавив код ошибки сам: show_error($e->getMessage(), 'error_general', 503);
, потому что по умолчанию установлено 500:
function show_error($heading, $message, $template = 'error_general', $status_code = 500)
UPDATE2
Просто чтобы прояснить ситуацию,Я не хочу отправлять код состояния HTTP, связанный с ограниченным доступом / контентом, но отправляю код, связанный с сообщением об ошибке, внутри $e->getMessage()
, который в 90% случаев содержит сообщение об ошибке, в котором говорится, что контент был удален или подвергнут цензуре.
С учетом вышесказанного я спрашиваю: какой код статуса HTTP следует использовать при отображении сообщения об ошибке, в котором говорится, что содержимое было удалено / подвергнуто цензуре или было установлено как недоступное по причине X.