Старая ссылка на сайт site.com/asdf/qwer изменилась, теперь она такая: site.com/qwer
Но пользовательские приложения продолжают обращаться по старому адресу.
Как через nginx из урла убрать /asdf ?
Попробуй во втором вариенте вместо break использовать last. Там несколько иной механизм. Обычно break используется внутри location, а такой реврайт надо использовать вне всех локейшнов.
Если пользовательские приложения поддерживают 301 редирект - можно использовать вариант, который дал sim3x. Но в этом случае пользователь будет генерировать два запроса вместо одного.