Nginx rewrite: last & break

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


According to document:

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;

        root /data/example/;

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

        location /bar {
            echo "error";

When I curl using:  curl

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?


More information about the nginx mailing list