Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex “匹配并重定向”;http://quot;使用nginx从URI路径(双斜杠)_Regex_Http_Nginx_Uri_Ngx Http Rewrite Module - Fatal编程技术网

Regex “匹配并重定向”;http://quot;使用nginx从URI路径(双斜杠)

Regex “匹配并重定向”;http://quot;使用nginx从URI路径(双斜杠),regex,http,nginx,uri,ngx-http-rewrite-module,Regex,Http,Nginx,Uri,Ngx Http Rewrite Module,我希望nginx返回“”请求url为“”,使用conf blow,但它给了我“http:/xxx.com” 怎么了,有人能帮忙吗!谢谢 这是我的nginx配置 location ~ url=(.*)$ { return 301 $1; } 除了使用Alexey Ten的建议(这确实可能会导致安全问题)之外,您还可以使用以下方法,这可能是一种更好的方法(如果您在URL结构上设置了aleady,即): 另一种选择是: location /url=http:/ { rewrite ^

我希望nginx返回“”请求url为“”,使用conf blow,但它给了我“http:/xxx.com”

怎么了,有人能帮忙吗!谢谢

这是我的nginx配置

location ~ url=(.*)$ {
    return 301 $1;
}

除了使用Alexey Ten的建议(这确实可能会导致安全问题)之外,您还可以使用以下方法,这可能是一种更好的方法(如果您在URL结构上设置了aleady,即):

另一种选择是:

location /url=http:/ {
    rewrite ^/url=http:/(.*)$   http://$1;
}
顺便说一句,我会避免在顶级位置使用正则表达式,因为它通常比使用上述方法效率低,但基本上你也可以用你的方法做同样的事情


但是,请注意,在任何情况下,无条件地将用户重定向到用户提供的字符串本身可能会使您的站点容易受到某些攻击。

除了Alexey Ten建议使用之外,这确实可能会导致安全问题,您还可以使用以下方法,这可能是一种更好的方法(如果在URL结构上设置了aleady,即):

另一种选择是:

location /url=http:/ {
    rewrite ^/url=http:/(.*)$   http://$1;
}
顺便说一句,我会避免在顶级位置使用正则表达式,因为它通常比使用上述方法效率低,但基本上你也可以用你的方法做同样的事情


但是,请注意,在任何情况下,无条件地将用户重定向到用户提供的字符串本身都可能使您的站点容易受到某些攻击。

为什么人们试图发明自己的非标准方法来传递参数?简单的
?url=whatever
?Nginx会将相邻的斜杠压缩为一个,因为每个人都这么做需要99.99%的时间。您可以使用
merge\u slashes off;
指令禁用它,但会有后果,可能是安全漏洞。我的答案解决了您的问题吗?如果是,请单击“接受”按钮(这样做也会获得一些分数)。@BrockChen,感谢您最终单击“接受”!对我有+1!:-)为什么人们试图发明自己的非标准参数传递方式?简单的
?url=whatever
?Nginx将相邻的斜杠压缩为一个,因为99.99%的时间每个人都想要它。您可以使用
merge\u斜杠将其禁用指令,但会有后果,可能是安全漏洞。我的回答解决了你的问题吗?如果是,请单击“接受”按钮(这样做也会获得一些分数)。@BrockChen,感谢您最终单击“接受”!对我有+1!:-)