WedX - журнал о программировании и компьютерных науках

Как предотвратить: файл не существует, регистрируемый в error_log для .htaccess ErrorDocuments?

На данный момент мы используем правило .htaccess для пользовательских аватаров, если они не загрузили аватар, возникает ошибка 404 и отображается изображение аватара по умолчанию.

Однако это происходит тысячи раз в день, и error_log практически постоянно записывается.

Правило .htaccess находится в каталоге /avatar/, который состоит только из файлов изображений.

Код изображения PHP

<img src="/avatar/<?=$userId?>.png" />

Код .htaccess, используемый в каталоге изображений

ErrorDocument 404 /unknown.gif

Есть ли какой-либо другой быстрый способ сделать это, чтобы остановить возникновение ошибки 404 или, может быть, даже регистрацию?

Будет ли работать файл php.ini в каталоге /avatar/, который отключил сообщения об ошибках?

08.12.2012

  • Вам следует полностью избегать генерации ошибок 404, потому что это замедляет загрузку страницы. Просто проверьте, есть ли загруженное изображение для этого пользователя при создании html-контента, и поместите unknown.gif непосредственно в атрибут src вашего ‹img›. 08.12.2012
  • Рассматривали ли вы возможность изменить свой код, чтобы он вообще не отображал несуществующий URL-адрес? Вы можете сэкономить немного полосы пропускания и несколько ненужных HTTP-запросов. 08.12.2012

Ответы:


1

Простой. Отображать изображение только в том случае, если оно существует.

<?php

if(file_exists("/avatar/" . $userId . ".png")) {
    print('<img src="/avatar/' . $userId . '.png" />');
}
else {
    print('<img src="/avatar/unknown.gif" />');
}

?>
08.12.2012
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]