Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему в IE не происходит редирект если страницы на которую должен произойти переход не существует.
 
 автор: ...   (15.02.2009 в 22:28)   письмо автору
 
 

Почему в IE не происходит редирект если страницы на которую должен произойти переход не существует.
А Firefox и Opera нормально перенаправляют на несуществующую страницу и уже потом выводиться что адрес ненайден.
Например имеем redirect.php с кодом
<?php
Header
("Location: http://www.yandex123.ru"); 
?>

при его открытии в IE версии 6 и 7. IE пишет что страница не найдена и переход на страницу http://www.yandex123.ru не происходит а в адресной строке написано http://www.site/redirect.php.
А в Firefox и Opera в адресной строке пишет как и полагается http://www.yandex123.ru.
Возможно сделать редирект на несуществующие страницы в IE средствами PHP ?

  Ответить  
 
 автор: Trianon   (15.02.2009 в 22:31)   письмо автору
 
   для: ...   (15.02.2009 в 22:28)
 

gпочму firefox и opera должны вести себя как ie, да еще в явно неопределенной ситуации?

Почему Вы вообще считаете, что редирект на несуществующий URL - это допустимо?

  Ответить  
 
 автор: ...   (15.02.2009 в 23:19)   письмо автору
 
   для: Trianon   (15.02.2009 в 22:31)
 

Мне видится что firefox и opera более правильно поступают в данном случае. Ведь переход должен был быть на http://www.yandex123.ru. и в Адресной строке браузера должен быть URL http://www.yandex123.ru а существует он или нет это уже браузер покажет и выдаст сообщение.
IE вообще не переходит на http://www.yandex123.ru а стопорится на http://www.site/redirect.php.
При этом если редирект осуществлять с помощью meta или javascript то IE перенаправляет как положено.
<meta http-equiv="refresh" content="0; url=http://www.yandex123.ru">
<BODY onload='javascript:document.location.replace("http://www.yandex123.ru");'>
По видимому Header(); в IE как то не так обрабатывается.

А мне необходимо именно на PHP реализовать редирект, у меня стоит счетчик с кучей разных динамических ссылок, некоторые из ссылок могут не существовать, и пользователь переходя на http://www.yandex123.ru должен туда и попасть а не на http://www.site/redirect.php о котором пользователю знать не положено :)

  Ответить  
 
 автор: DEM   (15.02.2009 в 23:21)   письмо автору
 
   для: ...   (15.02.2009 в 23:19)
 


<?php
function m_ref($met_ref$met_time=0)
{
  echo 
"<meta http-equiv='refresh' content='".$met_time."; url=".$met_ref."'>";
}
?>

  Ответить  
 
 автор: mihdan   (15.02.2009 в 23:33)   письмо автору
 
   для: ...   (15.02.2009 в 22:28)
 

Может дело не в этом?
<?php
error_reporting
(E_ALL);
?>

  Ответить  
 
 автор: ...   (15.02.2009 в 23:49)   письмо автору
 
   для: mihdan   (15.02.2009 в 23:33)
 

Ошибок нет. Это IE гонит причем по видимому у всех.

  Ответить  
 
 автор: mihdan   (15.02.2009 в 23:55)   письмо автору
30.6 Кб
 
   для: ...   (15.02.2009 в 23:49)
 

Tools->Internet options->advanced->Выводить ошибки HTTP

Редирект нормально работает

  Ответить  
 
 автор: ...   (16.02.2009 в 00:08)   письмо автору
 
   для: mihdan   (15.02.2009 в 23:55)
 

Точно если Отключить вывод ошибок HTTP то редирект работает нормально.
Но ведь я не могу у всех пользователей отключить вывод ошибок HTTP :)
У меня то заработало, но проблему это не решило.
И вообще непонятно почему, при вывод ошибок HTTP, редирект не происходит, а при отключении ошибок HTTP редирект происходит.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования