1

У меня есть различные файлы в каталоге «/var/www/ что-то». Обычный корень моего сервера nginx - «/var/www/ html».

Теперь я хочу использовать только файл /var/www/something/file.exp как http://someserver.org/ecos/file.exp.


Моя текущая конфигурация использует что-то вроде этого:

location =/ecos/file.exp {
   rewrite '^/ecos/(.*)$' '/$1' last;
   root /var/www/something;
}

, Но это не работает.

Что я делаю неправильно?

1 ответ1

0

Вы должны настроить переписать, чтобы использовать break , а не last:

location = /ecos/file.exp {
   rewrite '^/ecos/(.*)$' '/$1' last break;
   root /var/www/something;
}

Из того, что я понимаю:

С break сервер будет искать файл, используя root в текущем местоположении:

location = /ecos/file.exp {
   ...
   root /var/www/something;
}

В last случае сервер продолжит обработку и будет использовать переписанное местоположение:

location = / {
   ...
   root /some/other/root;
}

Смотрите также: перезапись URL nginx: разница между разрывом и последним

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .