rewrites happen before location {} blocks are considered (if the rewrite is on a global level) correct? so location /foo { this will never be computed } rewrite /foo/bar /somethingelse permanent; That's at least what it seems to me, unless I'm missing something. It doesn't seem like ^~ ~* etc seem to matter either. Or is it all depending on the order in the config file?