Столкнулся сегодня с небольшой проблемой :)
Имеем конфиг:
location /goto/ {
   rewrite ^/goto/([^/]*)(/.*)? /goto.php?host=$1&link=$2? last;
}
location ~ \.php$ {
   ..
}
Получается что все запросы типа "/goto/host/page.php" просто не попадают 
в первый локейшн, а сразу отдаются на upstream
Что и где я упустил? :)