strange if
Igor Sysoev
igor at sysoev.ru
Thu May 20 18:03:32 MSD 2010
On Thu, May 20, 2010 at 03:29:09PM +0200, Daniele Melosi wrote:
> Hi all,
>
> i'm taking in charge a new nginx cluster with a very strange configurations.
>
> I'm trying rewriting the configuration and i'm unable to find a way to
> better write this if condition:
>
> if ($request_uri !~*
> (^/$|^\/ajax\.php\?type=counter&op=blog&blog(_id|)=.*$.*$|^/\?nl_id=[0-9]+|\?from=[0-9]+|\?confirmkey=.*$|^/post/([0-9]+)(\?[0-9]+|)(\/.*|#.*|\?confirmkey=.*|)$|/post/comment/(saved|close)/([0-9]+)(/[0-9]+|)(\?blog=.*|)$|/permalink/([0-9]+)\.html(#.*)$|/archive/[0-9][0-9][0-9][0-9]-[0-9][0-9]$|/tag(.*|)$|/member/[0-9]+$|/(media|album)(|/[0-9]+\?from=[0-9]+|/[0-9]+)$|/user(.*|)$|/blog|/sitemap(.xml|)|/images/smiley/rhymbox-(.*)/(.*)\.(gif|jpg|png)$|^/[0-9]+$|\?timer=1|check_login\?destination=.*|\?nocache=1))
> {
> error_page 404 /splinder_404.html;
> return 404;
> }
>
> Can it be translated on a location (note the negative !~*).
It's really hard to understand it.
Try to start from this:
location = / {
...
}
location = /ajax.php {
...
}
location ~ ^/post/([0-9]+)$ {
...
}
# etc
# fallback
location ~ / {
alias /path/to/splinder_404.html;
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list