Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Вложенныедирективы илиобъединениеусловий
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Вложенныедирективы илиобъединениеусловий
- From: Andrey Ignatov <andr.pl@xxxxxxxxx>
- Date: Wed, 16 Apr 2008 16:28:43 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:subject:message-id:references:mime-version:content-type:content-disposition:content-transfer-encoding:in-reply-to:user-agent:x-useless-header; bh=6kBJl44GfU2FtcOCD0k98YC2q7ufG8TBaAUHeW+9bzg=; b=s634poE8hQ7IooXNPLHQTmHSbwUFC85DZRHvT5VnIKpe3mMaxE0VF3MupWCY4iAORvBrS7feMsxEhpyN7Wst1Jb+O4ctEXVBMublEIziJovfblBi6F6jvwHR2L8KcxI1b80ML5PyJ/c1aZQ+LMFAh1WfsEU88ow+Q0bBtzVlVfA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:references:mime-version:content-type:content-disposition:content-transfer-encoding:in-reply-to:user-agent:x-useless-header; b=Jphi9JKDJ1Pe1Q/p4naS2PgjU9gCZUGoFIi/Fd+mFpXt/hxigF4B1ggbEiqSwJkEbBrRAo6C6olCMKl11rNksWS3U6Ux7UTXH3/e/bz/Lnt3SxlbKjDg51GtwQzMrrQnFEIHXEc5bjw/ziirOHtsZ0CBOzh4y7s1bHwKullvZmc=
- In-reply-to: <loom.20080416T115122-968@xxxxxxxxxxxxxx>
- References: <loom.20080416T115122-968@xxxxxxxxxxxxxx>
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;
}
Не красиво, но др. вариантов не знаю.
--
Andrey Ignatov
Skript, System administrator
|