mirror of
https://github.com/nginx/nginx.git
synced 2024-11-27 23:49:00 +08:00
merge r3487, r3525:
rewrite fixes: *) escape ampersand in argument while rewrite *) autodetect redirect if URI is rewritten to a string starting with $scheme
This commit is contained in:
parent
7fbe27b79f
commit
a16387eba9
@ -1277,13 +1277,13 @@ ngx_escape_uri(u_char *dst, u_char *src, size_t size, ngx_uint_t type)
|
||||
0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */
|
||||
};
|
||||
|
||||
/* " ", "#", "%", "+", "?", %00-%1F, %7F-%FF */
|
||||
/* " ", "#", "%", "&", "+", "?", %00-%1F, %7F-%FF */
|
||||
|
||||
static uint32_t args[] = {
|
||||
0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
|
||||
|
||||
/* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */
|
||||
0x80000829, /* 1000 0000 0000 0000 0000 1000 0010 1001 */
|
||||
0x80000869, /* 1000 0000 0000 0000 0000 1000 0110 1001 */
|
||||
|
||||
/* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */
|
||||
0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
|
||||
|
@ -340,13 +340,10 @@ ngx_http_rewrite(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
||||
|
||||
last = 0;
|
||||
|
||||
if (ngx_strncmp(value[2].data, "http://", sizeof("http://") - 1) == 0) {
|
||||
regex->status = NGX_HTTP_MOVED_TEMPORARILY;
|
||||
regex->redirect = 1;
|
||||
last = 1;
|
||||
}
|
||||
|
||||
if (ngx_strncmp(value[2].data, "https://", sizeof("https://") - 1) == 0) {
|
||||
if (ngx_strncmp(value[2].data, "http://", sizeof("http://") - 1) == 0
|
||||
|| ngx_strncmp(value[2].data, "https://", sizeof("https://") - 1) == 0
|
||||
|| ngx_strncmp(value[2].data, "$scheme", sizeof("$scheme") - 1) == 0)
|
||||
{
|
||||
regex->status = NGX_HTTP_MOVED_TEMPORARILY;
|
||||
regex->redirect = 1;
|
||||
last = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user