Поскольку псевдоним вашего местоположения заканчивается, вы должны просто использовать root. Кроме того, не все маршрутизируется через index.php на wordpress afaik. Кроме того, если вы не знаете, что вам нужна информация о пути, вы, вероятно, не делаете. Я думаю, что вы хотите что-то вроде:
location @wp {
rewrite ^/wordpress(.*) /wordpress/index.php?q=$1;
}
location ^~ /wordpress {
root /var/www/example.com;
index index.php index.html index.htm;
try_files $uri $uri/ @wp;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass 127.0.0.1:9000;
}
}
или если вам действительно нужна информация о пути (URL выглядят как /wordpress/index.php/foo/bar):
location ^~ /wordpress {
root /var/www/example.com;
index index.php index.html index.htm;
try_files $uri $uri/ /wordpress/index.php;
location ~ \.php {
fastcgi_split_path_info ^(.*\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
}
}
РЕДАКТИРОВАТЬ: Обновлен первый сервер {}, чтобы убрать инициал / WordPress из URI и передать остаток как Q Param
РЕДАКТИРОВАТЬ2: Именованные местоположения действительны только на уровне сервера