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