Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Оптимизация сайтов с WordPress
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
|