2010-05-22 3 views
2

Мне нужно реализовать пересылку. Я сделал это следующим образом:Существуют ли ситуации, когда следующая пересылка не работает?

<html> 
<head> 
<meta http-equiv="refresh" content="0; URL=http://www.xyz.com"> 
</head> 
<body> 
</body> 
</html> 

Есть ли ситуации, в которых это не сработает? Я читал на selfhtml.org (http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung, sry для немецкой ссылки не мог найти другого), что это не всегда уместно. Есть ли лучшие способы сделать это? И в каких ситуациях мой код не сработает?

ответ

3

Ну, главный аргумент против того, что уже говорит связанная страница: браузер пользователя может отключить мета перенаправления (хотя это будет редко), а немедленные переадресации могут вызвать проблемы с удобством использования, когда пользователь пытается перейти через историю.

Если вы можете, однако, вообще не выводить HTML-код, а выполнять перенаправление на стороне сервера, используя заголовок location. В PHP это будет выглядеть следующим образом:

<? header("Location: http://www.xyz.com"); 
    die(); 
?> 

, если вы не можете сделать это, я бы сказал, что с помощью мета редирект хорошо. Вы можете добавить паузу в несколько секунд и сообщение («Теперь вы перенаправлены на ....»), в сочетании со ссылкой, чтобы минимизировать досаду для пользователей.

Что касается поисковой оптимизации, поисковые системы, я ожидаю, будут молча игнорировать страницу перенаправления и продолжать индексировать целевой сайт, что, вероятно, так и хочется.

+0

Скорее всего, вы также захотите установить код статуса HTTP в одно из 300 семейств. http://www.websitepulse.com/kb/3xx_HTTP_status_codes.html –

+1

@ Замечательная хорошая точка. Заголовок 'Location' отправляет по умолчанию 302. –

+0

спасибо, что пекка прекрасно работает @ компромисс компилятор плохо проверить это спасибо – RoflcoptrException

 Смежные вопросы

  • Нет связанных вопросов^_^