Оптимизация сайтов с WordPress

Igor Sysoev is at rambler-co.ru
Sun Jan 18 13:18:22 MSK 2009


On Sun, Jan 18, 2009 at 09:29:18AM +0500, Nick S. Knutov wrote:

> Приветствую всех,
> 
> Есть большая кучка очень посещаемых сайтов на WordPress. К ним поставлен 
> плагин WPSuperCache. Схема проксирования обычная: Nginx -> Apache. 
> *.html и подобное nginx отдает сам без проксирования на бэкенд.
> 
> Содержимое .htaccess ниже. При такой схеме апач все равно дергается на 
> каждую статику, что при текущей нагрузке становится не очень хорошо. 
> Может быть у кого-нибудь есть готовый аналог этих же правил для nginx? Я 
> посмотрел в документацию и сходу сам перевести их не осилил.

В конце http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files
есть пример для второй части правил.

> # BEGIN WPSuperCache
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteBase /
> AddDefaultCharset UTF-8
> RewriteCond %{REQUEST_METHOD} !=POST
> RewriteCond %{QUERY_STRING} !.*=.*
> RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
> RewriteCond %{HTTP:Accept-Encoding} gzip
> RewriteCond 
> %{DOCUMENT_ROOT}/wordpress/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz 
> -f
> RewriteRule ^(.*) 
> /wordpress/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
> 
> RewriteCond %{REQUEST_METHOD} !=POST
> RewriteCond %{QUERY_STRING} !.*=.*
> RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
> RewriteCond 
> %{DOCUMENT_ROOT}/wordpress/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html 
> -f
> RewriteRule ^(.*) 
> /wordpress/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
> </IfModule>
> # END WPSuperCache

Сдаётся мне, что весь этот суперкэш работать не должен - по идее, $1 в
 %{DOCUMENT_ROOT}/wordpress/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
должен быть равен URI запроса, только не факт, что он ему равен.

> # BEGIN WordPress
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteBase /
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule . /index.php [L]
> </IfModule>
> # END WordPress


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list