В результате решил проблему так: location ~* /admin { auth_basic "admin location"; auth_basic_user_file conf.d/htpasswd; root /path/to/nowhere; error_page 404 = @redirect; } location @redirect { rewrite ^/([^\/]+)$ /index.php?api=$1; index index.php; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,231626,231700#msg-231700