Как настроить nginx + php-fpm + wordpress только для определенных URL? - PullRequest
1 голос
/ 08 августа 2009

Я пытаюсь заставить nginx + php-fpm + wordpress обслуживать некоторые страницы моего сайта, выступая в качестве прокси для других страниц.

то есть:

host / foo -> прокси для другого сервера www

host / bar -> wordpress (через fpm)

часть прокси работает нормально, но часть nginx -> wordpress просто перенаправляет на корневую страницу.

Когда я запускаю процесс php-fpm, я вижу, что поступают хиты, и WordPress фактически думает и загружает весь контент, но в последнюю секунду он просто перенаправляет обратно на корневую страницу.

Не могу найти в Google ничего о том, как увидеть входящие параметры fastcgi на стороне php. догадываясь, что что-то не так в заголовках, отправляемых из nginx, но я понятия не имею, как посмотреть, что все отправляется. (здесь не очень полезно, так как он дает только первые несколько байтов)

если я попробую через telnet и наберу:

GET / HTTP / 1.0 <CR><CR>

Я получаю правильный контент, как вы ожидаете (т.е. не перенаправляет). но из браузера он перенаправляется.

1 Ответ

0 голосов
/ 18 июня 2012

Добавление следующего в настройках вашего сервера

# proxy the page to Apache listening on 127.0.0.1:80
location ^~ /foo {
    proxy_pass   http://127.0.0.1;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ /bar/.*\.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    include        fastcgi_params;
}
...