Drupal → Модуль Fast 404 — разгоняем 404-е страницы

27.01.2011

Описание

Друпалу очень дорого (в плане системных ресурсов) обходятся 404-е ошибки. На каждый запрос к несуществующей странице, картинке, css или js файлу Drupal полностью загружает своё ядро и отдаёт ошибку в текущем дизайне сайта. Для среднестатистического сайта, 404-я ошибка это 30-40 mb зря потраченной памяти и 200-300 ms холостой работы PHP.

Модуль Fast 404 решает эту проблему. Он на ранней стадии определяет тип запроса (файл, либо внутренний путь), делает проверку на существование и в случае неудачи отдаёт знакомую всем страницу "Not Found", после чего прерывает выполнение скрипта:

Страница 404не пугайтесь, это картинка =)

Цифры для пример:

Стандартная 404-я страница друпала — 3 страницы в секунду (rpm)
Страница модуля Fast 404 — 41 страница в секунду

Установка

  1. Скачиваем
  2. Распаковываем в sites/all/modules
  3. Открываем файл sites/all/modules/README.TXT и копируем настройки в settings.php
  4. Включаем модуль Fast 404

Настройка

При дефолтных настройках модуль будет обрабатывать только файлы из списка в $conf['fast_404_exts']. Среди них - картинки, стили, скрипты, иконки и т.д.

Если установить переменную $conf['fast_404_path_check'] в TRUE, то модуль будет проверять на существование и внутренние пути друпала, т.е. те, что не имеют расширения.

Функционал модуля вошёл в ядро Drupal 7.

Написанное актуально для
Fast 404 6.x-1.x-dev
Похожие записи

Комментарии

Евгений
28.01.2011, 11:07

На каждый запрос к несуществующей картинке, css или js файлу Drupal полностью загружает своё ядро и отдаёт ошибку в текущем дизайне сайта

не обращал раньше внимания - это из-за mod_rewrite - если файла нет - то значит понять как путь друпал и выполнить, да?

так точно

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Интересный модуль. Надо будет потестировать его работу. Спасибо!

нормальный модуль. в семёрке в ядре.

Гость
18.01.2014, 11:53

кто нибудь использовал этот модуль с мультиязычным сайтом?
выдает 404, на страницы с языком отличным от дефолтного например:www.example.com/fr
может кто либо уже исправлял такую ситуацияю!?

Добавить комментарий