简体   繁体   中英

How to setup nginx + php-fpm + wordpress for only certain URLs?

I'm trying to get nginx + php-fpm +wordpress to serve some pages from my site while acting as a proxy to other pages.

ie:

host/foo -> proxy to another www server

host/bar -> wordpress (via fpm)

the proxy part works fine, but the nginx -> wordpress part just keeps redirecting to the root page.

When i strace the php-fpm process, i see the hits coming in and wordpress actually does it's think and loads all the content, but at the last second it just redirects back to the root page.

Can't find anything on google as to how to see the incoming fastcgi params on the php side. guessing something is wrong in the headers being sent from nginx, but I have no idea how to see what all is being sent. (strace not super-helpful here since it only gives the first few bytes)

if I try it via telnet and type:

GET / HTTP/1.0 <CR><CR>

i get the correct content as you would expect (ie: doesn't redirect). but from a browser it's getting redirected.

Adding the following under your server settings

# 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;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM