nginx - nginx如何返回动态URL地址
问题描述
server {
listen 6677;
location /api/tt {
charset utf-8;
default_type text/html;
set $test 0;
if ($arg_url) {
set $test 1;
}
if ($arg_url ~* "^(?<scheme2>https?)://(?<address>.*)") {
set $test "${test}2";
}
add_header X-test $test;
if ($test = 12) {
return $scheme2://$address;
# return $arg_url;
}
return 400 "<p>error: need url</p>";
}
}
访问“http://localhost:6677/api/tt?url=https://google.com”时会重定向到“https://google.com”
但是,当我使用 时return $arg_url;
,文本“https://google.com”会返回给我。如何直接使用$arg_url
变量重定向到“https://google.com”
解决方案
我建议像这样进行 303 重定向:
return 303 <URL>;
推荐阅读
- python - 编码高基数变量
- reactjs - 将 dispatch 作为 prop 传递给共享组件,从既是功能组件又是类组件的组件
- stripe-payments - 在测试中与来自其他域的网页交互
- java - 卡夫卡生产者禁用
- c++ - 在 OpenGL 2D 中为敌人制作生成器
- .net - 修改流单元 dotnet SDK - Azure 流分析
- android - 即使在 vivo 和 oppo 设备中授予自动启动权限后,AccessibilityService 也会被禁用
- html - 具有链接到相同索引的模式
- python - Python中的RGB数据到拜耳格式的转换
- javascript - 观众不改变/使用不同的模拟