Redirect Nginx从变量或任何字符串中提取值

Redirect Nginx从变量或任何字符串中提取值,redirect,nginx,Redirect,Nginx,是否有使用If从Nginx配置文件中的变量提取值的替代方法 即 if($http\u referer~*(?Yes) map$http\u referer$proxied{ default example.com; “~*(?谢谢,看起来这样就可以了,$p代表什么?它的名字叫捕获:因为地图不支持位置捕获。在您的if示例中,set$proxied$1;指令是多余的。您可以编写(?@VBart:map支持位置捕获,如下所示:well@DanDascalescu:文档是错误的,或者至少具有高度误导性:

是否有使用If从Nginx配置文件中的变量提取值的替代方法

if($http\u referer~*(?Yes)

map$http\u referer$proxied{
default example.com;

“~*(?谢谢,看起来这样就可以了,$p代表什么?它的名字叫捕获:因为地图不支持位置捕获。在您的
if
示例中,
set$proxied$1;
指令是多余的。您可以编写
(?@VBart:
map
支持位置捕获,如下所示:well@DanDascalescu:文档是错误的,或者至少具有高度误导性:请参阅
    if ($http_referer ~* (?<=url=)([\w-.]*)(?=/) ){
            set $proxied $1;
            rewrite (?<=/)(.+\.(css|jpg|png|gif|js)) http://$proxied/$1 redirect;

     }
map $http_referer $proxied {
    default  example.com;
    "~*(?<=url=)(?<p>[\w-.]*)(?=/)" $p;
}