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:
|
||||
switch (ch) {
|
||||
case '/':
|
||||
r->host_start = p;
|
||||
r->host_start = p + 1;
|
||||
state = sw_host;
|
||||
break;
|
||||
default:
|
||||
|
@ -1385,9 +1385,16 @@ ngx_http_find_virtual_server(ngx_http_request_t *r,
|
||||
ngx_http_core_loc_conf_t *clcf;
|
||||
ngx_http_core_srv_conf_t *cscf;
|
||||
|
||||
host = r->host_start;
|
||||
|
||||
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) {
|
||||
cscf = ngx_hash_find(&vn->hash, hash, host, len);
|
||||
if (cscf) {
|
||||
|
@ -667,6 +667,8 @@ static ngx_int_t
|
||||
ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
|
||||
uintptr_t data)
|
||||
{
|
||||
if (r->host_start == NULL) {
|
||||
|
||||
if (r->headers_in.host) {
|
||||
v->len = r->headers_in.host_name_len;
|
||||
v->data = r->headers_in.host->value.data;
|
||||
@ -676,6 +678,11 @@ ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
|
||||
v->data = r->server_name.data;
|
||||
}
|
||||
|
||||
} else {
|
||||
v->len = r->host_end - r->host_start;
|
||||
v->data = r->host_start;
|
||||
}
|
||||
|
||||
v->valid = 1;
|
||||
v->no_cachable = 0;
|
||||
v->not_found = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user