Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Nginx редиректит (301) с добавлением слэша
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Nginx редиректит (301) с добавлением слэша
- From: "wilful" <nginx-forum@xxxxxxxx>
- Date: Wed, 26 Jun 2013 03:33:19 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=yBz3y8VBZDy7jfNjq7eRowYp3naOFAYjieBoeA9HlPE=; b=TBgnVEZPqXRbx8BEN6gQh+JSvCI1WLMEnxDSi+I2yO1aeZP1h8HOlGArzBiFq87J7BcNNZLy4Qn1LYpyhYz9YmUIN3ISEmNU9U3CE3gAId0K7KXOhU3qWc5jGpNwj+tmbPRJuccAmFdZN+Q0+Z+N+Q7L5gDzKhdzxvzyvAZooQQ=;
- In-reply-to: <20130625185611.GO20717@mdounin.ru>
- References: <20130625185611.GO20717@mdounin.ru>
Спасибо за ответы. Привожу пример всего конфига. Бакэнд в данном случа я
отключил вообще (в первом сообщении 404 это ошибка о том, что не найден
индекс заглушки, но редирект происходит раньше)
server {
listen 192.168.7.116:80;
server_name site.local www.site.local;
set $docroot "/var/www/site.local/htdocs";
set $pool "backend";
set $poolerr "127.0.0.1:8088";
set $app_env "production";
index index.php;
charset windows-1251;
root $docroot;
access_log /var/log/nginx/site.local-access.log;
error_log /var/log/nginx/site.local-error.log warn;
include /etc/nginx/conf-available/static;
location @fetch {
include /etc/nginx/conf-available/backend-httpd;
}
location / {
include /etc/nginx/conf-available/backend-httpd;
}
# location / {
# try_files $uri $uri/ @fetch;
# location ~ \.(php|php5)$ {
# include /etc/nginx/conf-available/backend-httpd;
# try_files $uri $uri/ @fetch;
# }
# }
}
Данный конфиг используется для обработки сайта на bitrix.
Статика отдаётся так (/etc/nginx/conf-available/static):
location ~*
\.(ico|jpg|gif|png|htm|html|jpeg|swf|txt|avi|wmv|7z|tmp|xml|svg)$ {
root $docroot;
access_log off;
}
Вроде в конфигурации ничего лишнего, вложенные локейшены использовал чтобы
была общая точка входа и статика которая не подходит под шаблон выше не
попадала к бакэнду.
В апач есть директива отключения таких редиректов, как можно поступить в
случае nginx, чтобы обработка папки передавалась на бакэнд?
Если использовать error_page 404 @fetch; вместо try_files, то всё равно
происходит редирект.
Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
>
> On Tue, Jun 25, 2013 at 11:30:46AM -0400, wilful wrote:
>
> > http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files
> > Я не нашел в описании директивы указание на 301-й редирект.
> > Не могли бы вы более подробно написать откуда он?
> > Я только вижу что исходя из $uri/ сервер находит папку, т.е. как я
> понимаю
> > слэш тут используется для обозначения того, что ищется папка, а не
> файл.
>
> Если для обработки запрошеного ресурса используется модуль отдачи
> статики, и запрошенный ресурс оказывается каталогом - то nginx
> возвращает 301 с добавлением "/".
>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,240329,240354#msg-240354
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|