забавная грабля
Igor Sysoev
is at rambler-co.ru
Sun May 22 11:05:11 MSD 2005
On Sun, 22 May 2005, Dmitry Kondratyev wrote:
> Serge wrote:
>> 21.05.05, Dmitry Kondratyev<null at bikeman.ru> написал(а):
>>
>>> Наступил тут. :-)
>>>
>>> есть
>>> location / { proxy_pass ... }
>>> location /dir { alias ... }
>>>
>>> Так вот, если дёргаю /dir или /dir/file, то всё хорошо и файл берётся из
>>> указанного альясом места, а вот если дёргаю /dir.php или /dir_foo.php,
>>> то оно почему-то говорит 404 вместо того, чтобы проксировать. Или я
>>> чего-то непонимаю, или это всё же грабли. :-) nginx 0.1.28.
>>>
>>> PS Почитал ещё раз мануал насчёт location - вроде так и должно быть и
>>> всё даже правильно, т.к. урл проверяется до максимального совпадения, но
>>> конструкция вроде
>>>
>>> location ~ ^/dir(/.*)?$ { alias ... } даёт 404 на /dir/...
Это легко может быть, так как сочетание регулярного выражения в location
и alias сейчас не поддерживается. И я не знаю, делать ли поддержку,
когда ту же функциональность можно получить с помощью rewrite.
>>> Вижу вариант только описать локейшн вроде ^/dir[^/].+ или что-нибудь
>>> вроде того отдельно на проксирование - скорей всего так оно заработает.
>>> Но как-то криво это и неправильно на мой взгляд. Попроще никак?
>>
>> location / { proxy_pass ... }
>> location /dir/ { alias ... }
>>
>> По моему, так проще.
>>
> Это я уже пробовал - ее работает так. 404 на непроксируемый контент.
Что именно пробовал - "location /dir" или "location /dir/" ? Это разные
вещи. /dir.php и /dir_foo.php попадают под /dir, но не попадют под /dir/.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list