1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

502 из-за несуществующих фото

Тема в разделе "Web Coding", создана пользователем qazibum, 1 ноя 2012.

Модераторы: latteo
  1. qazibum

    qazibum

    Регистр.:
    21 окт 2009
    Сообщения:
    198
    Симпатии:
    9
    Есть сайт, на нем фото, ссылки на которые публиковались на других сайтах. Сейчас этих фото уже нету, а запросы к ним идут с других сайтов и из-за этого сайт мощно тупит, 502 выдает.
    Что, где и как надо подкрутить, чтобы этого не было? Что-то вроде - ограничить время ответа или если больше N времени, то сбрасывать.
    Ответ сервера - 404 по запросу к этим фото, но почему-то очень долго ждет ответа.
    Сайт на джумле 1.5.
     
  2. Limitless

    Limitless NZT-48

    Регистр.:
    31 янв 2009
    Сообщения:
    51
    Симпатии:
    24
    Зачем? 404 не должен и не грузит сервер.

    А должно быть быстро. Скорее всего сервер тормозит.
     
  3. qazibum

    qazibum

    Регистр.:
    21 окт 2009
    Сообщения:
    198
    Симпатии:
    9
    Нет, не сервер. Но из-за чего-то тормозит.
    Есть вариант предотвращать запросы на несуществующие файлы?
    <-------------- добавлено через 52 сек. -------------->
    Мне на время хотя бы костыль поставить.
     
  4. Limitless

    Limitless NZT-48

    Регистр.:
    31 янв 2009
    Сообщения:
    51
    Симпатии:
    24
    Вот именно, из-за чего-то (думаю не из-за этого) но ладно.

    Взять "фото, ссылки на которые публиковались на других сайтах" и прописать редирект на index.php если нет ссылок то посмотреть логи и взять их оттуда. Но это вряд ли решит проблему.
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.517
    Симпатии:
    1.365
    Своим заказчикам предлагаю такое решение, добавить в .htaccess после RewriteEngine On:
    Код:
    RewriteCond %{REQUEST_URI} .(jpg|jpeg|bmp)$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .*$ /404.jpg  [L]
    
    В корень положить файл 404.jpg (можно 0 размера, а можно с картинкой 404 и адресом твоего сайта)
    (jpg|jpeg|bmp) можно и нужно дополнить своими расширениями

    В моём случае все запросы на несуществующие файлы обрабатывались движком (wordpress), который для такого запроса отжирал много ресурсов. И добавление столь простого кода в htaccess значительно снижало нагрузку.
     
    qazibum и Slayers нравится это.
  6. qazibum

    qazibum

    Регистр.:
    21 окт 2009
    Сообщения:
    198
    Симпатии:
    9
    Спасибо latteo. Сделаю через htaccess, а потом просто залью несуществующие фото обратно. Тем более, что ссылки на них есть на других сайтах, а терять их не хочется.
     
  7. Алексей60

    Алексей60 Создатель

    Регистр.:
    11 апр 2015
    Сообщения:
    12
    Симпатии:
    2
    [некропостинг]
    заинтересовали советы редиректить на index. а это разве не больше нагрузки на сервер будет? учитывая, что просто при отсутствии картинки сервер сразу "посылает" пользователя. а во втором случае -- сначала редиректит юзера, а потом ему еще и страницу показывает )
    или я может чего не знаю, и нагрузка будет меньше?
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.517
    Симпатии:
    1.365
    Это неверное решение, лучше парсить логи сервера там эти 404 тоже очень хорошо логируются.
    По факту и так в большинстве cms с дефолтным htaccess редирект идёт на index, что значительно увеличивает нагрузку.