Я просто пытался сделать то же самое: перенаправить с помощью JS.В моем сценарии PHP, если определенное условие выполняется, я просто завершаю сценарий функцией die , повторяя тег сценария с кодом перенаправления:
die("<script type='text/javascript' charset='utf-8'>\n".
"window.location.href='http://'+window.location.hostname+'/newdir/newfile.html';\n".
"</script>\n");
Это былоне работает, и я попытался выполнить код из консоли, и он работает оттуда.Я предположил, что это что-то из-за времени, поэтому я добавил setTimeout к перенаправлению:
die("<script type='text/javascript' charset='utf-8'>\n".
"var configURL = 'http://'+window.location.hostname+'/newdir/newfile.html';\n".
"setTimeout('window.location.href = configURL', 500);\n".
"</script>\n");
Этот патч пока работает, но я думаю, что должен быть лучший способ сделать это.