Что лучше header() vs htaccess?
У каждого из инструментов есть свови плюсы.
 HTACCESS 
+ "ожидаемое" место для таких вещей, и  SEOшник полезет туда в их поиске.
+ Есть много  готовых пресетов и гернраторов для правил.
- Странное поведение редиректов ( нужно хорошо знать mod_rewrite чтобы понимать что и почему происходит)
-  не работает на nginx и iis
-  трудность создания редиректов с гет параметрами.
-  большое количество редиректов снижает производительность сайта ( Но на практике не заметно)
php
+ нет проблем с редиректами GET параметров
+ нет последовательности кодов типа 301 +301 +301+200
+ можно сделать редирект  типа  сделать 301 если текущий статус урла 404  да и вообще можно положить в 
404.php ( в .htaccess тоже можно но через ...)
+ сработает на любом веб сервере
-нестандартное место и искать их никто не будет
-seo шник не знает php
Если правил для переадресации не слишком много, то используйте переадресацию на стороне Apache/Nginx, т.е. файл .htaccess в Вашем случае.