index internal redirect

Valery Kholodkov valery+nginxru на grid.net.ru
Чт Июн 16 23:37:52 MSD 2011


Igor Sysoev пишет:
> On Thu, Jun 16, 2011 at 08:32:00PM +0200, Valery Kholodkov wrote:
>> Igor Sysoev wrote:
>>> Сейчас при нахождении индексного файла делается внутрений редирект.
>>> Это позволяет работать конфигурациям типа
>>>
>>> location / {
>>>     index  index.php;
>>> }
>>>
>>> location ~ \.php$ {
>>>     ...
>>> }
>>>
>>> Но иногда нужно, чтобы обработка проиходила без редиректа,
>>> например, для запрещения явного запроса /index.html, хотя это
>>> можно решить так:
>>>
>>> location = / {
>>>     index  index.html;
>>> }
>>>
>>> location = /index.html {
>>>     internal;
>>> }
>>>
>>> У меня давно есть мысль сделать это настраиваемым, не могу только
>>> придумать имя для директивы:
>>>
>>> location = / {
>>>     index       index.html;
>>>     index_stays  on|off;
>>> }
>> explicit_index_lookup on|off;
>>
>> или ещё короче
>>
>> explicit_index on|off;
> 
> Вообще лично мне "явный_индекс" ничего не говорит. Совсем.

Мое дело предложить, Ваше -- отказаться. Насколько я понял, смысл 
директивы был понятен, нужно было только название.

> Возможно, имеет можно что-то придумать со звёздочками, скобочками
> и тому подобному. Например, сейчас try_files поддерживает слэш
> в конце параметра, обозначающий тестирование каталога, и знак равно
> для обозначения кода ошибки для fallback'а:
> 
>    try_files  $uri  $uri/  =404;
> 
> Для try_files хотелось бы придумать ещё два модификатора - делать
> внутренний редирект при нахождении файла (как сейчас делается для index)
> и проверка абсолютного пути (а не относительно root/alias).
> Например, абсолютный путь - два начальных слэша:
> 
>    try_files  //path/to/maintenance.html  $uri  $uri/  @php;

Я запутался: try_files вроде бы напрямую c index никак не связан? Не 
является ли неприменяемость внутреннего редиректа свойством индексного 
файла (а точнее его URI)? Соответстенно, не должны ли модификаторы 
применятся к параметрам директивы index?

-- 
Best regards,
Valery Kholodkov



Подробная информация о списке рассылки nginx-ru