xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

Описание

Друпалу очень дорого (в плане системных ресурсов) обходятся 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
Похожие записи

Комментарии RSS

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

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

так точно

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

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

Плохой модуль и в кору он не вошел, в семерке довольно кривой. требует патча https://drupal.org/node/2086497

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

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

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании