вопрос по ssl + rewrite

Igor Sysoev is at rambler-co.ru
Sat May 21 18:58:38 MSD 2005


On Sat, 21 May 2005, RaPaMaN wrote:

> Igor Sysoev пишет:
>
>> On Sat, 21 May 2005, RaPaMaN wrote:
>> 
>>> конструкция вида:
>>> 
>>> rewrite ^(/directoryname)$ /directoryname/ permanent;
>>> 
>>> чтобы делать нормальный переход на директорию, если запросили без слэша в 
>>> конце.
>> 
>> 
>> А зачем описывать такой rewrite ? nginx сам возвращает редиректы для
>> каталогов.
>
>
> Потому как, на хостах, где куча location смешанных - я не заметил, чтобы был 
> редирект. Делаю сам его.
>
> И если описать location /dir
> и делать внутри на fastcgi обработку, то туда попадает аккуратно /dir, а не 
> добавляется "/" в конец и отрабатывается.
>
>>> http://www.domain.com:443/directoryname/
>> 
>> Такая конструкция в ssl хосте приводит к тому, что броузер перебрасывает на 
>> URL вида:
>> 
>> Есть такая проблема, поправлю.
>
> Вот как раз если описать как location /dir, то вылетает на такой редирект. 
> Видимо это обработка редиректа для каталога.
>
> Насколько я понимаю, если нет расширения у location, т.е. /abc, а не abc.xxx, 
> то этот location считается как директория и все запросы уходят на редирект с 
> "/" в конце ?

nginx делает сам редиректы в двух случаях:

1) запрос статический и обнаруживается, что это каталог;

2) описан location  /uri/ { proxy_pass или fastcgi_pass }
    В этом случае для запроса /uri nginx вернёт редирект на /uri/.
    Для других запросов, типа /uri/one редирект выдаватся не будет - об
    этом уже должен заботиться бэкенд.
    Запретить подобную обработку можно, описав специально location = /uri


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list