В некоторых случаях требуется разместить WordPress вне root каталога домена, чтобы он был доступен как подкаталог example.org/blog. Конфигурация описанная в http://www.tux.in.ua/articles/4069 не работает. Если просто указать стандартными методами, то не загрузятся стили, рисунки и прочее. Но это легко исправить.
server {
server_name .example.org;
root /var/www/;
# далее стандартный код
....
# и теперь наш WP
location /blog {
root /home/dev/;
index index.php;
try_files $uri $uri/ /blog/index.php?$args;
access_log /var/log/nginx/blog.access.log;
error_log /var/log/nginx/blog.error.log;
location ~* ^/blog/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|woff|ttf))$ {
root /home/dev/;
}
location ~* .php$ {
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}