Tricky Rewrite rules.

Gustavo Barrón lists at ruby-forum.com
Thu Nov 22 05:51:11 MSK 2007


Hone wrote:
> Maybe another way to do it would be to set up a second backend instance
> of nginx on another port which serves all the php dynamic.
> 
> 1. http client makes request
> 2. if static is required and available the front nginx serves it
> 3. if no static is found the request gets proxied to the second nginx
> server with php fastcgi
> 
> Your 2nd Nginx would have your normal rewrites and the fastcgi php set
> up and your first file could look like this.  I haven't had time to test
> this.
> 
> upstream 2ndNginx {
> server 127.0.0.1:82;
> }
> 
> server {
> listen 80;
> server_name supercachestatic.com;
> location / {
> 
> root   /var/www/mydomain.com/htdocs;
> index  index.html;
> 
> 
> if ($query_string !~ ".*s=.*") {
>  rewrite ^(.*) /wp-content/cache/supercache/$http_host/$1index.html;
> }
> 
> if ($http_cookie !~ "^.*comment_author_.*$" ) {
>  rewrite ^(.*) /wp-content/cache/supercache/$http_host/$1index.html;
> }
> 
> if ($http_cookie !~ "^.*wordpressuser.*$" ) {
>  rewrite ^(.*) /wp-content/cache/supercache/$http_host/$1index.html;
> }
> 
> if ($http_cookie !~ "^.*wp-postpass_.*$" ) {
>  rewrite ^(.*) /wp-content/cache/supercache/$http_host/$1index.html
> break;
> }
> 
> error_page    404  =  @2ndNginx;
> 
> }
> 
> location @2ndNginx {
> proxy_pass http://2ndNginx;
> 
> }

I was thinking that, but apparently, after a couple of tries today, it 
seems, the problem resides partially on wp-super-cache, carrying on a 
bug from wp-cache with php 5.2.x and fastgi. I will check it later today 
in order to see How can be fixed that.

But actually is a good idea. I was thinking on something similar after 
reviewing a RoR site this morning. I will check it later as an 
alternative. Because my fix for wp-cache/wp-super-cache requires 
patching :/
-- 
Posted via http://www.ruby-forum.com/.





More information about the nginx mailing list