Problem about set variable according rewrite rule whithout if{}

I use apache2.2.8 as my web proxy server. I use the rewrite rule to
implement
according article id’s last number to assign

user’s request to different domain. the apache rules is

RewriteRule ^/([0-9]+)([0-9])/(.*) http://load$2.test.com/$1$2/$3
[P,L,NC]
which can rewrite
http://load.test.com/1210019701/test.htm to
http://load1.test.com/1210019701/test.htm
http://load.test.com/1210019707/test.htm to
http://load7.test.com/1210019701/test.htm

Now, I want to use nginx, I have a working solution and a failed
solution, it
have a lot of rules in my config, working

solution is so cockamamie, need a lot of if{} and set. failed solution
only
need one set. I want to know how can failed

solution working.

working solution:
location / {
if ($uri ~* ^/([0-9]+)([0-9])/(.)) {
set $loadurl load$2.test.com;
rewrite ^/([0-9]+)([0-9])/(.
) /$1$2/$3 break;
proxy_pass $loadurl;
}
}

failed solution:
location / {
rewrite ^/([0-9]+)([0-9])/(.*) /$1$2/$3 break;
set $loadurl load$2.test.com;
proxy_pass $loadurl;
}