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