Nginx rewrite: last & break

Ryan Chan ryanchan404 at gmail.com
Thu Oct 20 16:12:01 UTC 2011


Hello,

According to document: http://wiki.nginx.org/HttpRewriteModule#rewrite

It said "break - completes processing of rewrite directives and
breakes location lookup cycle by not doing any location lookup and
internal jump at all"

However, seems my config below is an exception?

server {
        listen 80;

        server_name .example.com
        root /data/example/;

        if ($request_uri ~ "foo") {
            rewrite ^/foo /bar break;
        }

        location /bar {
            echo "error";
        }
}

When I curl using:  curl http://example.com/foo

the string "error" was returned.

However, isn't the break will skip any following location block? So it
shouldn't matche the location below, right?


Thanks.



More information about the nginx mailing list