Как правильно проксировать 404 ошибку wordpress?

Добрый день, стоит не тривиальная задача.
Имеем: 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, что очевидно.

Есть идеи как такое провернуть в текущей реализации?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
ZetRider
@ZetRider Автор вопроса
web
Сделал так, работает
proxy_pass http://...:8080$request_uri;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы