Добрый день, стоит не тривиальная задача.
Имеем: nginx + php-fpm. wordpress.
Задача: При обращении к домену по адресу .ru/username/ нужно проксировать запрос на другой сервер. К сожалению отличить username от простой страницы невозможно, префиксов нет.
Что пришло в голову, все 404 ошибки отправлять на внешний сервер. Но как это реализовать правильно, когда все запросы обрабатывает index.php...
location / {
try_files $uri $uri/ /index.php?$args;
}
error_page 404 = @profiles;
location ~ .php$ {
try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_intercept_errors on; # For profiles
}
location @profiles {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://...:8080;
}
в итоге вместо желаемого /username/ на внешнем сервере получаем index.php, что очевидно.
Есть идеи как такое провернуть в текущей реализации?