mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
use host part in URL
This commit is contained in:
parent
b1ee81d7cd
commit
95ead46111
@ -260,7 +260,7 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b)
|
|||||||
case sw_schema_slash_slash:
|
case sw_schema_slash_slash:
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '/':
|
case '/':
|
||||||
r->host_start = p;
|
r->host_start = p + 1;
|
||||||
state = sw_host;
|
state = sw_host;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1385,8 +1385,15 @@ ngx_http_find_virtual_server(ngx_http_request_t *r,
|
|||||||
ngx_http_core_loc_conf_t *clcf;
|
ngx_http_core_loc_conf_t *clcf;
|
||||||
ngx_http_core_srv_conf_t *cscf;
|
ngx_http_core_srv_conf_t *cscf;
|
||||||
|
|
||||||
host = r->headers_in.host->value.data;
|
host = r->host_start;
|
||||||
len = r->headers_in.host_name_len;
|
|
||||||
|
if (host == NULL) {
|
||||||
|
host = r->headers_in.host->value.data;
|
||||||
|
len = r->headers_in.host_name_len;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
len = r->host_end - host;
|
||||||
|
}
|
||||||
|
|
||||||
if (vn->hash.buckets) {
|
if (vn->hash.buckets) {
|
||||||
cscf = ngx_hash_find(&vn->hash, hash, host, len);
|
cscf = ngx_hash_find(&vn->hash, hash, host, len);
|
||||||
|
@ -667,13 +667,20 @@ static ngx_int_t
|
|||||||
ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
|
ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
|
||||||
uintptr_t data)
|
uintptr_t data)
|
||||||
{
|
{
|
||||||
if (r->headers_in.host) {
|
if (r->host_start == NULL) {
|
||||||
v->len = r->headers_in.host_name_len;
|
|
||||||
v->data = r->headers_in.host->value.data;
|
if (r->headers_in.host) {
|
||||||
|
v->len = r->headers_in.host_name_len;
|
||||||
|
v->data = r->headers_in.host->value.data;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
v->len = r->server_name.len;
|
||||||
|
v->data = r->server_name.data;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
v->len = r->server_name.len;
|
v->len = r->host_end - r->host_start;
|
||||||
v->data = r->server_name.data;
|
v->data = r->host_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
v->valid = 1;
|
v->valid = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user