【问题标题】:Nginx Variable + regex inside configNginx 变量 + 配置中的正则表达式
【发布时间】:2014-01-27 11:46:59
【问题描述】:

在我的 /etc/nginx/nginx.conf 中

第一个例子:

location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/web$2;
    index  index.html index.htm;
}

这意味着如果我访问 httpwebsite/~user1/ 它会将 web 文件夹重定向到 /home/user1/web

如果我访问 httpwebsite/~nextuser/ 它将重定向到 /home/nextuser/web

第二个例子:现在我想对 scgi mount 做同样的事情:

location ~ ^/RPC-user1$ {
    include scgi_params;
    scgi_pass /home/user1/scgi.socket;
}
location ~ ^/RPC-nextuser$ {
    include scgi_params;
    scgi_pass /home/nextuser/scgi.socket;
}

如何像第一个示例一样将这 2 行代码转换为通配符 1 行?基本上将 /RPC-$USERNAME 之类的东西传递给 scgi_pass /home/$USERNAME/scgi.socket

【问题讨论】:

    标签: regex nginx scgi


    【解决方案1】:

    试试这个:

    location ~ ^/RPC-(.+)$ {
        include scgi_params;
        scgi_pass /home/$1/scgi.socket;
    }
    

    【讨论】:

    • 谢谢,这就是我要找的。我希望它不匹配 website.com/anything/RPC-user1 并且只匹配 website.com/RPC-user1
    猜你喜欢
    • 2016-01-09
    • 2017-01-03
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2021-09-05
    相关资源
    最近更新 更多