内部配置中的Nginx变量+正则表达式

时间:2014-01-27 11:46:59

标签: regex nginx scgi

在我的/etc/nginx/nginx.conf

第一个例子:

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

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

如果我访问httpwebsite / ~sextuser/它将重定向到/ 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;
}

如何将这两行代码翻译成通配符1行,如第一个例子?基本上将/ RPC- $ USERNAME之类的内容传递给scgi_pass /home/$USERNAME/scgi.socket

1 个答案:

答案 0 :(得分:1)

试试这个:

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