nginx Compatibility

Vladimir
Опубликовано в: Всё подряд

Описание

Плагин предназначен для решения двух проблем:

  1. Когда WordPress обнаруживает, что используется FastCGI SAPI, код перенаправления, передаваемый в wp_redirect(), игнорируется. Таким образом, все перенаправления с кодом 301 тихо превращаются в перенаправления с кодом 302, что не очень хорошо для SEO.
    Если WordPress работает под управлением nginx, плагин переопределяет функцию wp_redirect(), что позволяет использовать коды перенаправления.
  2. Если WordPress считает, что mod_rewrite (модуль Apache, отвечающий за переписывание URL’ов — используется для красивых постоянных ссылок) не загружен (а nginx не использует модули и API Apache), он предлагает использовать постоянные ссылки в формате PATHINFO (Настройки » Постоянные ссылки). Такие ссылки не очень красивы, но всё же лучше, чем ничего.
    Тем не менее, nginx умеет переписывать URL’ы, но не может об этом сказать WordPress. За него это делает плагин, заставляя WordPress думать, что mod_rewrite всё-таки загружен, и можно использовать красивые пермалинки.

Установка

  1. Загрузите каталог nginx-compatibility в /wp-content/plugins/
  2. Активируйте плагин в панели управления WordPress
  3. Это всё Никакой настройки не требуется, плагин сам обо всём позаботится

Часто задаваемые вопросы

Вопросов пока нет, ответов тоже. Задавайте.

Замечания

GoPHP5! Плагину для работы требуется PHP 5. PHP 4 не поддерживается разработчиками, у меня тоже нет желания его поддерживать. Тем более, что шестая версия на носу.

Домашняя страница плагина на wordpress.org.

17
Апр
2009

Переведя несколько сайтов с Apache на nginx, уже который раз встречаю подводные камни. Один из них — нежелание WordPress понимать код редиректа, другая — постоянные попытки использовать PATHINFO-пермалинки вместо “нормальных” (pretty permalinks).

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

14
Апр
2009

Вчера вечером нашёл, а сегодня утром окончательно разобрался с одной очень интересной ошибкой плагина All in One SEO Pack. Ошибка проявляется в версии 1.4.6.15, но, возможно, более ранние версии тоже ей подвержены. Для проявления ошибки необходима определённая структура пермалинков: я столкнулся с ошибкой на такой структуре: /%category%/%postname%/. Тем не менее, структура — условие необходимое, но не достаточное: я не на всех сайтах смог воспроизвести ошибку. Возможно, причиной этому являются сторонние темы и/или плагины. Тем не менее, в причинах её возникновения я разобрался.

Проявляется ошибка следующим образом: при переходе на сайт по неверной ссылке (например, http://example.com/wpadmin) отображается пустая страница, а в логе ошибок присутствует примерно такое сообщение:

[-]
View Code Text
PHP Catchable fatal error:  Object of class WP_Error could not be converted to string in /wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php on line 950

Далее

18
Дек
2008

Сегодня в статье "Противодействие плагиату RSS" Alex поднял очень актуальную тему защиты авторских прав блоггеров. И, хотя предотвратить кражу контента невозможно, существуют способы, помогающие усложнить процесс воровства.

Реализация двух трёх таких способов представлена в данном плагине. Далее

5
Дек
2008

WP File Cache 1.0

Vladimir
Опубликовано в: Плагины

Появилась новая версия плагина WP File Cache.

В данной версии у плагина появился интерфейс для администратора и, как следствие, возможность "тонкой настройки".

Функциональность плагина:

  • реализация долговременного кэширования на уровне запросов;
  • полная совместимость с интерфейсом класса WP_Object_Cache WordPress;
  • использование памяти под сессионный кэш для увеличения производительности;
  • сессионное кэширование часто изменяющихся объектов;
  • хранение настроек в коде плагина.

Особенности плагина:

  • возможность отключения кэширования (в том числе и встроенного в WordPress);
  • возможность отключения межсессионного кэширования;
  • возможность задания групп, не подлежащих межсессионному кэшированию (полезно только разработчикам, которые знают, о чём идёт речь);
  • плагин хранит свои настройки непосредственно в коде (в файле wp-content/object-cache.php). Это связано с проблемой курицы и яйца, а также с архитектурными особенностями WordPress.

Плагин существует в двух локализациях: русской и английской. Если у Вас есть желание перевести плагин на другой язык, пишите.

Замечания по установке: после активации плагин для хранения кэша будет использовать каталог wp-content/plugins/file-cache/cache. Поэтому перед активацией каталог должен быть доступен на запись. Каталог для хранения кэша можно изменить в настройках (для увеличения производительности имеет смысл размещать кэш на RAM-диске); каталог также должен быть доступен на запись. Плагину при активации/мохранении настроек должен быть доступен на запись каталог wp-content: в него копируется файл object-cache.php. После того, как плагин активирован и сконфигурирован, права на запись можно убрать.

По производительности плагин бьет как "голый" WordPress 2.7rc1, так и WordPress, "нагруженный" плагинами. Причем выигрыш в производительности становится всё более заметным при увеличении нагрузки на сайт (когда обмен данными с MySQL становится всё более интенсивным).

Плагин скоро появится на wordpress.org (да, у меня наконец-то дошли руки), и его можно будет скачивать прямо оттуда Как следствие, у плагина появилась домашняя страница.

Скачать последнюю версию плагина WP File Cache.

Большое спасибо Максиму Покровскому за тестирование плагина под Windows.

2
Дек
2008