如何在nginx做带有参数的url跳转
1个回答
展开全部
确保安装 nginx 时 ./configure 有加入 --with-http_perl_module 这一项,
然后在 nginx.conf 配置文件的http{}内、server{}前面加入:(加入内容在结构上与 server{} 并列)
perl_set $urldecode 'sub {my $inf = shift;
my $url = $inf-args;
my $inx = index($url, "redirect=",);
my $redirect = "";
if ($inx < 0) {
$redirect = $url;}else {my $red = substr($url, $inx+9,);
my $len = index($red, "\x26",);
if ($len < 0) {
$redirect = substr($red, 0,);}else{$redirect = substr($red, 0, $len);}}$redirect =~ s/\%([A-Fa-f0-9]{2})/pack("C", hex($1))/seg;
return $redirect;}';
在 server 的 location 内加入:(加入内容在 location 之内,location 在 server 之内)
if ($arg_redirect) {
最后,重新启动 nginxPS: 以上的$urldecode是变量名,可以更改
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询