WP Super Cache + nginx: замена правил mod_rewrite

Конфигурация nginx для WP Super Cache

Сборная солянка с нескольких форумов (ссылок, к сожалению, не дам, но Google может помочь); данная конфигурация является рабочей.

[-]
View Code nginx configuration
if (-f $request_filename) {
        break;
}

set $supercache_file '';
set $supercache_uri $request_uri;

if ($request_method = POST) {
       set $supercache_uri '';
}

if ($query_string) {
       set $supercache_uri '';
}

if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
       set $supercache_uri '';
}

if ($supercache_uri ~ ^(.+)$) {
       set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
}

if (-f $document_root$supercache_file) {
       rewrite ^(.*)$ $supercache_file break;
}

Этот блок нужно вставлять до основных правил переписывания адресов (в идеале сразу после root).

Детали конфигурирования для описаны в статье «Конфигурация nginx для WordPress: критический взгляд со стороны».

Можно сделать проще: поместить правила для WP SuperCache в /etc/nginx/includes/wpsupercache.conf, а из конфигурации виртуального хоста делать include /etc/nginx/includes/wpsupercache.conf; — работать будет, так как конфигурация не зависит от внешних параметров.

Автор: ; опубликовано в: nginx, WordPress; метки: mod_rewrite, nginx, WordPress, WP Super Cache
27
Фев
2009

RSS Комментарии к статье «WP Super Cache + nginx: замена правил mod_rewrite» (7)  »

  1. Константин

    Подскажите у меня стоит nginx перед апачем, конфиги nginx создаются из конфигов апача при перезагрузке. WP SuperCache просто не хочет записывать файлы в кэш (прав при этом хватает). Если я как-то поменяю скрипт импортирующий конфиги апача в nginx так, чтобы конфигурация соответствовала указанной выше на всех хостах (при этом на сервере есть сайты не только на вордпресс) такой вариант будет работать?

    • Как-то всё слишком сложно у Вас… Если PHP-файлы обрабатывает Apache, то смотрите в .htaccess, где прописаны правила для WP SuperCache.

      • Константин

        Да сложновато, а что делать :) . WP SuperCache заработал после выключения плагина (с удалением всех изменений) и повторного включения, при стандартной конфигурации nginx. Видимо глюк был где-то в настройках WP SuperCache (до этого сайт работал на другом сервере).

  2. [...] WP SuperCache. Мне с этим плагином приходилось неоднократно сталкиваться, и не всегда с хорошей стороны (так получилось), так что [...]

  3. в этой строке:
    set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;

    без слэша перед index.html, у меня не работало. т.е. из кэша бралась только главная страница, остальные нет..

  4. nginx вроде как сам лучше с кэшированием справляется, как считаете?

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

Оставить комментарий к записи «WP Super Cache + nginx: замена правил mod_rewrite»

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя

गते गते पारगते पारसंगते बोधि स्वाहा