Url rewriting nginx重写url删除子文件夹

Url rewriting nginx重写url删除子文件夹,url-rewriting,nginx,Url Rewriting,Nginx,我正在努力在nginx中重写一些url 我有一个网站:foo.com/ foo.com/index.html有到foo.com/bar.cgi的链接(可能带有GET参数) 我的cgi位于/var/www/site/cgi-bin/中,因此可以通过foo.com/cgi-bin/bar.cgi访问 我希望重写会删除cgi bin部分 location ~ \.cgi$ { root /var/www/localhost; #rewrite ^/cgi-bin

我正在努力在nginx中重写一些url

我有一个网站:foo.com/

foo.com/index.html有到foo.com/bar.cgi的链接(可能带有GET参数)

我的cgi位于/var/www/site/cgi-bin/中,因此可以通过foo.com/cgi-bin/bar.cgi访问

我希望重写会删除cgi bin部分

    location ~ \.cgi$ {
        root /var/www/localhost;
        #rewrite ^/cgi-bin/(.*)$ $1 permanent;

        fastcgi_param SCRIPT_FILENAME/ /var/www/localhost$fastcgi_script_name;
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/var/run/fcgi.sock-1;
        }

根据您的描述,您只需将fastcgi指向正确的位置:

fastcgi_param SCRIPT_FILENAME var/www/site/cgi-bin$fastcgi_script_name;

尝试更改
rewrite
指令:用break替换permanent