vhosting and map { }
Igor Sysoev
is at rambler-co.ru
Wed Jun 21 16:29:35 MSD 2006
On Wed, 21 Jun 2006, Igor Sysoev wrote:
> On Wed, 21 Jun 2006, Dmitry Morozovsky wrote:
>
>> On Wed, 21 Jun 2006, Igor Sysoev wrote:
>>
>> IS> Вот это вот
>> IS> server_name $http_host;
>> IS> я не заметил. Так нельзя.
>>
>> Ага. то есть вообще server_name не указывать.
>
> Можно так:
> server_name _ ;
>
>> IS>
>> IS> > location = / {
>> IS> > root /www/$sroot/html;
>> IS> > index index.html index.shtml index.htm index.php;
>> IS> > }
>> IS> > location / {
>> IS> > proxy_pass http://127.0.0.1;
>> IS> > }
>> IS> > }
>> IS> >
>> IS> > фигу - в качестве $document_root пишет root от первого из описанных
>> IS> > серверов.
>> IS> >
>> IS> > Где я не вижу очевидного?
>> IS>
>> IS> Вырожденный сервер нужно поместить в начало. Или во всех listen
>> IS> для него указать default.
>>
>> Да, map принялся хвататься. Зато почему-то не раскрывается переменная:
>>
>> root /$sroot/html;
>>
>> directory index of "/$sroot/html/" is forbidden
>
> Это багофига: если ни одни индекс не найден, то в сообщении $sroot
> не раскрывается. Буду лечить.
Прилагаемый патч исправляет сообщение.
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
--- src/http/ngx_http_core_module.c Mon May 29 19:21:59 2006
+++ src/http/ngx_http_core_module.c Wed Jun 21 16:26:02 2006
@@ -519,6 +519,7 @@
ngx_http_core_run_phases(ngx_http_request_t *r)
{
ngx_int_t rc;
+ ngx_str_t path;
ngx_http_handler_pt *h;
ngx_http_core_loc_conf_t *clcf;
ngx_http_core_main_conf_t *cmcf;
@@ -642,11 +643,10 @@
if (r->uri.data[r->uri.len - 1] == '/' && !r->zero_in_uri) {
- clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
-
- ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
- "directory index of \"%V%V\" is forbidden",
- &clcf->root, &r->uri);
+ if (ngx_http_map_uri_to_path(r, &path, 0) != NULL) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "directory index of \"%V\" is forbidden", &path);
+ }
ngx_http_finalize_request(r, NGX_HTTP_FORBIDDEN);
return;
More information about the nginx-ru
mailing list