nginxでは変数をセットするときにsetディレクティブを使います。例えば set $script ""; set $path_info $uri; というようにです。ところで、このsetディレクティブはngx_http_rewrite_moduleに属します。 つまり、rewrite と組み合わせて location /download/ { rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break; set $script ""; set $path_info $uri; fastcgi_pass unix:/tmp/fastcgi.sock; } なんていうことをしていると、rewriteが発動してbreakされた瞬間にrewriteモジュールの評価が終わってしまい、setされません。 location /download