Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[ 2]: Вло женныедирективыилиобъединениеусловий
думаю location-ы с include-ами будут быстрее ифов ...
On 16.04.2008, at 17:25, Denis F. Latypoff wrote:
Hello Larry,
Wednesday, April 16, 2008, 7:55:13 PM, you wrote:
On Wednesday 16 April 2008 20:28, Andrey Ignatov wrote:
On Wed, Apr 16, 2008 at 11:57:17AM +0000, Larry Gingras wrote:
Переписываю очень сложную и навороченную конфигурацию apache под
nginx
(для реализации связки nginx+apache).
И вот например мне нужно тут в одной штуке нужно проверить
несколько
условий. В apache я просто писал несколько RewriteCond подряд.
Тут в
одном if несколько условий поставить нельзя. И, как оказалось,
вложенные
if не поддерживаются тоже. Так что же делать в таком случае?
Вот один из примеров, который не знаю как расписать правильно:
if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
if ($request_uri !~ ^/webmasters/) {
if($invalid_referer) {
return 403;
}
}
}
Можно попробовать что-нибудь в таком духе:
if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
set $i "a";
}
if ($request_uri !~ ^/webmasters/) {
set $i "a$i"
}
if ($invalid_referer) {
set $i "a$i"
}
if ($i = "aaa") {
return 403;
}
Не красиво, но др. вариантов не знаю.
Вот это я думаю наиболее изящное и хорошее решение
Потому что мне тут предлагают разбивать всё на отдельные локейшены,
а учитывая
что там помимо этого примера ещё мама не горюй таких вещей, то там
ужас что
было бы. А с таким подходом очень много локейшенов удастся
сэкономить.
либо красивый конфиг, либо скорость.
Вы выбрали первое.
--
Best regards,
Denis mailto:denis@xxxxxxxxxx
|