Хорошо, я наконец нашел причину своих неприятностей.Ни Nginx, ни PHP не вызвали проблем.Мои веб-серверы находятся за загрузочным балансировщиком, работающим с Pound.
Pound имеет функцию перезаписи доменов внутри перенаправлений заголовков (по умолчанию включено).Теперь мы отключили эту функцию, и все перенаправления наконец-то работают как положено!