Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Nginx редиректит (301) с добавлением слэша
Hello!
On Wed, Jun 26, 2013 at 03:33:19AM -0400, wilful wrote:
> Спасибо за ответы. Привожу пример всего конфига. Бакэнд в данном случа я
> отключил вообще (в первом сообщении 404 это ошибка о том, что не найден
> индекс заглушки, но редирект происходит раньше)
[...]
> В апач есть директива отключения таких редиректов, как можно поступить в
> случае nginx, чтобы обработка папки передавалась на бакэнд?
Нужно явно обрабатывать запросы к каталогам без "/" на конце.
Например как-то так можно передать обработку всех каталогов на
бекенд:
location / {
# only _files_ are handled here, directories and
# non-existent uris will go to @directory location
try_files $uri @directory;
}
location @directory {
try_files $uri/ =404;
proxy_pass http://backend;
}
А если к вышеприведённому конфигу ещё добавить что-нибудь вроде
location ~ /$ {
# if an uri ends with "/", handle it here
}
то на бекенд уйдут только запросы к каталогам без "/" на конце.
Алтернативные варианты конфигураций можно поискать в архивах
рассылки, ключевые слова - trailing slash redirect.
> Если использовать error_page 404 @fetch; вместо try_files, то всё равно
> происходит редирект.
Директива try_files не имеет отношения к редиректу. В вашем
исходном конфиге директива try_files лишь обеспечивала обработку
существующих каталогов модулем static nginx'а.
--
Maxim Dounin
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|