При переписывании Nginx, как правило, «не видит» строку запроса как часть URI, поэтому существующая перезапись не работает - для Nginx всегда ^/abc\.php$
независимо от того, есть строка запроса или нет.
Вместо этого я бы попробовал это (адаптировано из документации ):
if ($args !~ param=value) {
rewrite ^/abc\.php$ http://domain2.com permanent;
}
Но помните, что если это зло .