2014-09-25 3 views
2

У меня есть PHP-скрипт, который должен перенаправить на динамический резервный URL-адрес после выполнения некоторого кода. Я использую его для перенаправления пользователя на определенный URL, т.е. после удачного входа в Коде:.Перенаправление местоположения заголовка PHP не работает на iPhone

header('Location: '. rawurldecode('/index.php?')); 

Этот код хорошо работает на все 3 основных браузерах, однако, заголовок-место просто не работает работу по iPhone. Я тестировал Safari, а также Chrome для iOS: оба не будут работать.

Я также пробовал жестко закодированные полноразмерные URL-адреса без успеха.

header("Location: http://google.com/"); 

EDIT

Я попытался ввести домен в операторе переадресации. Это, кажется, решить эту проблему на мобильных браузерах, но теперь разбивается на настольных браузерах ...

header('Location: http:' . $_SERVER[HTTP_HOST]. rawurldecode($_GET['redirect'])); 
+0

только для правильной настройки заголовка («Местоположение: http://google.com/»); и не заголовок («Местоположение: http://google.com/»); правый – justrohu

+0

justrohu, это правильно. получается, что мои конфиги PHP принимает оба. – Yann

+0

привет спасибо за обновление, которого я не знал. – justrohu

ответ

3

Вы можете попробовать яваскрипт способ перенаправления страницы:

Пример:

echo '<script>window.location = "'.$url.'";</script>'; 
    die; 

Это может помочь ... !!

+0

Спасибо, используя JavaScript работает хорошо. Единственный недостаток заключается в том, что перенаправление происходит только после загрузки тела, поэтому предыдущая страница все еще отображается на секунду или около того. Кроме того, штамп; как вы упомянули, важно заблокировать выполнение других скриптов на странице. – Yann

+1

Приятно познакомиться с его работой для вас, с удовольствием помогите ... :) –

+0

Работал и для меня. Я все еще удивляюсь, почему PHP-редиректы не работают ... –

0

попробуйте это, если вы перезагрузите текущую страницу.

echo '<script>location.reload();</script>'; 
Смежные вопросы