Try:
Server {
server_name site.com;
listen 80;
root /path/to/regular/content/;
if ($http_user_agent ~* (mobile|android|blackberry|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|opera\smini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|wap|webos|windows\sce) ) {
rewrite ^ http://mobile.site.com$request_uri redirect;
}
location /xyz/ {
...
}
}
Server {
server_name mobile.site.com;
listen 80;
root /path/to/mobile/content/;
if ($http_user_agent !~* (mobile|android|blackberry|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|opera\smini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|wap|webos|windows\sce) ) {
rewrite ^ http://site.com$request_uri redirect;
}
location /xyz/ {
...
}
}