如何从 $http_referer 变量中删除斜杠
How to remove slash from $http_referer variable
我想使用 NGINX 作为基于 Referer header 和 $http_refere 变量的 proxy_pass 的动态本地 CDN。问题是 Referer(也是变量)header 在 URL 的末尾包含一个“/”。我想删除 $http_referer 中的尾部斜线。我该怎么做?
我的 NGINX 位置:
location / {
add_header 'Access-Control-Allow-Origin' '*';
add_header Referrer-Policy 'strict-origin';
proxy_pass $http_referer;
}
您可以通过 if
块:
set $proxy $http_referer;
if ($http_referer ~ ^(.*)/$) { set $proxy ; }
或通过 map
指令:
map $http_referer $proxy {
~^(.*)/$ ;
default $http_referer;
}
然后使用 $proxy
变量和 proxy_pass
指令:
proxy_pass $proxy;
我想使用 NGINX 作为基于 Referer header 和 $http_refere 变量的 proxy_pass 的动态本地 CDN。问题是 Referer(也是变量)header 在 URL 的末尾包含一个“/”。我想删除 $http_referer 中的尾部斜线。我该怎么做?
我的 NGINX 位置:
location / {
add_header 'Access-Control-Allow-Origin' '*';
add_header Referrer-Policy 'strict-origin';
proxy_pass $http_referer;
}
您可以通过 if
块:
set $proxy $http_referer;
if ($http_referer ~ ^(.*)/$) { set $proxy ; }
或通过 map
指令:
map $http_referer $proxy {
~^(.*)/$ ;
default $http_referer;
}
然后使用 $proxy
变量和 proxy_pass
指令:
proxy_pass $proxy;