nginx重写url删除子文件夹 [英] nginx rewrite url removing subfolder

查看:60
本文介绍了nginx重写url删除子文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 nginx 中重写一些 url 有点挣扎

I am struggling a bit with rewriting some urls in nginx

我有一个网站:foo.com/

I have a site: foo.com/

foo.com/index.html 有一个指向 foo.com/bar.cgi 的链接(可能带有 GET 争论)

foo.com/index.html has a link to foo.com/bar.cgi (maybe with with GET arguements)

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

my cgi resides in /var/www/site/cgi-bin/ and thus it is accesible via foo.com/cgi-bin/bar.cgi

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

I was hoping the rewrite would remove the cgi-bin part

    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 指向正确的位置:

From what you describe you only have to point fastcgi to the right place:

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

这篇关于nginx重写url删除子文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆