Ngix rewrite is not working as expected

Posted by SamFisher83 on Server Fault See other posts from Server Fault or by SamFisher83
Published on 2012-03-27T16:45:34Z Indexed on 2012/03/27 17:33 UTC
Read the original article Hit count: 240

Filed under:
|

I am trying to learn how to use nginx and how to use its rewrite functionality

Nginx seems to be doing the rewrite:

2012/03/27 16:30:26 [notice] 16216#0: *3 "foo.php" matches "/foo.php", client: 61.90.22.223, server: localhost, request: "GET /foo.php HTTP/1.1", host: "domain.com"
2012/03/27 16:30:26 [notice] 16216#0: *3 rewritten data: "img.php", args: "", client: 61.90.22.223, server: localhost, request: "GET /foo.php HTTP/1.1", host: "domain.com"

but in my access log I am getting the following:

61.90.22.223 - - [27/Mar/2012:16:26:54 +0000] "GET /foo.php HTTP/1.1" 404 31 "-" "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"
61.90.22.223 - - [27/Mar/2012:16:30:26 +0000] "GET /foo.php HTTP/1.1" 404 31 "-" "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"

There is an img.php in the root directory so I am not sure why I am getting a 404 error

Here is part of the configuration block:

rewrite foo.php img.php last;


location / {

        try_files $uri $uri/ /index.html;
}





location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
}


# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
        deny all;
}

© Server Fault or respective owner

Related posts about nginx

Related posts about rewrite