вопрос по 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