nel limite del possibile non usare javascript, si tratta di cose estremamente diverse, non sempre funziona e personalmente vedere i redirect javascript "non è bello".
L'unico modo in PHP è con header("Location: "); se è in conflitto (come dici) con altri header è probabilmente perché prima fai un qualche output e dunque non funziona, per risolvere tutti questi problemi puoi usare le funzioni di controllo dell'output.
Metti un ob_start(); all'inizio e i tuoi problemi scompaiono, per saperne di più su queste funzioni e il loro utilizzo ti rimando ad un articolo su freephp che ne parla dettagliatamente.

Rispondi quotando