|
*** Что такое редирект Редирект (от англ. redirect – переориентировать(ся); redirect output – переадресовывать результат; redirection – переадресация, перенаправление) – это автоматическое (принудительное) перенаправление пользователя с одного веб-адреса на другой (страница-перенаправление). Редиректом также называют программное решение (скрипт), которое принудительно перенаправляет пользователя с выбранной веб-страницы на другую. Зачастую редирект не соответствует интересам пользователя.
Для выполнения редиректа используются мета-тэги Refresh, cgi-скрипты, Java-скрипты или серверные приложения. Ссылку с редиректом можно распознать по протяженности и «многоэтажности».
Поисковые системы, как правило, не жалуют страницы-редиректы. Хотя некоторые поисковики сами часто «грешат» редиректами, например, AltaVista может выдать такой результат (на запрос драйвер HP LaserJet 1000): http://av.rds.yahoo.com/_ylt=A0Je5XleUO9GB0EAjI5TDqMX;_ylu=X3oDMTBzZnMycjZhBHBndANhdl93ZWJfcm OC%255Fkp%255FmLg6%252DNbvHA%252E%252E%26yargs=www.Shopping.com%252Fprinters.
И пока пользователь доберется (если доберется!) до конечной страницы http://www.shopping.com/printers, он попутно – даже не догадываясь об этом! – «накрутит» показания двух счетчиков сайтов с рекламой http://av.rds.yahoo.com/ и http://rc12.overture.com/. Со стороны поисковиков это нечестная игра, т.к. за прокрутку рекламы они получают деньги (в данном случае эта реклама прокручивается тайно-принудительно).
*** Назначение редиректа – для получения более «привлекательного» адреса в Интернете; – для слияния гиперссылок сайта с префиксом www и без него; – для автоматического перенаправления пользователей при переносе сайта на новый домен; – для временной переадресации пользователей (в случае, когда зарегистрировано доменное имя, но сайт контентом пока не заполнен); – для автоматической «накрутки» счетчика посещений ресурса; – для навязывания пользователю рекламы, товаров или других ресурсов, которые он не запрашивал (метод поискового спама – спамдексинг) – самое пакостное свойство редиректа…
Слово redirect может быть включено в состав ссылки-редиректа. В
этом случае редирект имеет вид …redirect.cgi?…, например,
http://www.cnews.ru/cgi-bin/redirect.cgi?http://www.heise-security.co.uk
(конечный адрес
–
http://www.heise-security.co.uk).
Слово redirect может стоять в самом начале
гиперссылки, например,
http://redirect.subscribe.ru/comp.inet.news.topnews,1397/20070918234519/t=10999=4979/m5959266/-/www.cnews.ru/news/top/index.shtml?2007/09/18/266680
(конечный адрес
–
http://www.cnews.ru/news/top/index.shtml?2007/09/18/266680), или в середине,
например,
http://search.hp.com/gwrurus/redirect.html?url=http%3A//search.hp.com/gwrurus/query.html%3Fcharset%3Dwindows-1251%26lk%3D1%26
HP%2BLaserJet%2B1000%2BPrinter%26ocoldqt=HP%2BLaserJet%2B1000%26oc=45675&oc=45675&ocr=13&ocrs=3.
Ссылка-редирект – в ответ на событие (banner&event=click&event) – может содержать переход (goto=) на конечную веб-страницу, например, в результате щелчка по ссылке http://www.computerra.ru/bitrix/rk.php?id=188&event1=banner&event2=click&event3=18+%2F+%5B188%5D+%5BCenter_Text_Block%5D+%D2%E5%EA%F1%F2%EE%E2%FB%E9+%E1%EB%EE%EA+%EF%EE+%F6%E5%ED%F2%F0%F3%2C+%CA%F2%E5%F0%F0%E0%2C+%E3%EB%E0%E2%ED%FB%E5+%F1%F2%F0%E0%ED%E8%F6%FB&goto=http%3A%2F%2Fwww.computerra.ru%2Fgid%2F331706%2F мы, в конце концов, должны перейти на адрес http://www.computerra.ru/gid/331706/.
Иногда ссылка-редирект содержит команду перехода jump, например, в результате щелчка по ссылке http://top.mail.ru/jump?to=1150594&url=http://evoc.ru мы должны перейти на конечный адрес http://evoc.ru.
Ссылка-редирект может содержать и другие служебные слова, присущие редиректам, такие, как URLRedirection, Default.redir и другие, например: http://msdn.microsoft.com/URLRedirection/Default.redir?404;http://msdn.microsoft.com/library/en-us/script56/html/wsMthRegWrite.asp.
*** Какие бывают редиректы • Скрытый редирект – отображается одна гиперссылка, но под ней скрывается другая, например, на веб-странице указана ссылка http://www.d-link.ru, но при щелчке по этой ссылке загрузится страница с другим адресом – http://www.merlion.ru/goods/catalog/product/31829/.
http://www.viruslist.com/click?_URL=http://www.securitypipeline.com/ Конечный адрес – http://www.securitypipeline.com/.
Конечный адрес – http://www.rian.ru/.
Некоторые ссылки содержат тройной (!) редирект, например, Конечный адрес – http://www.regnum.ru/news/866787.html.
http://banners.infostart.ru/adclick.php?bannerid=75&zoneid=2&source=&dest=http%3A%2F%2Fall1c.ru%2F значимая часть этого редиректа – http%3A%2F%2Fall1c.ru%2F, что в «переводе» означает http://all1c.ru.
Конечный адрес – http%3A%2F%2Fwww.rian.ru%2F, т.е. http://www.rian.ru/.
*** Как выделить редирект из гиперссылки Пользователю, заинтересовавшемуся какой-либо гиперссылкой, содержащей редирект, сам редирект (точнее, его первоначальная часть) не нужен, – даже более того, из-за редиректа конечный адрес может быть недоступен (в редиректе значимой является конечная часть – конечный адрес). Кроме того, страница с редиректом грузится долго, к тому же попутно «накручивает» неизвестно какие ресурсы.
Но когда вы пытаетесь перейти по этой ссылке, браузер может «потеряться» и выдать вам итоговую страницу типа «Сервер не найден». А ведь в этой ссылке с редиректом уже заключена нужная вам ссылка, но в зашифрованном виде. Если убрать шелуху наслоений, которая нужна исключительно для того, чтобы вы накручивали счетчик посещений http://www.hp.com/, то получим нужную нам ссылку ftp://ftp.hp.com/pub/softlib/software4/COL1032/lj-1243-5/lj1000hostbased-ru.exe.
Но при простом щелчке по ссылке браузер выдает страницу типа «Сервер не найден». Убрав «шелуху» редиректа, получаем конечную ссылку http://www.consultant.ru/online/base/?req=doc;base=LAW;n=70640;ref=s
http://redirect.subscribe.ru/news.freesoft,1043/20070827000847/10830=10872=4979/m5959266/-/freesoft.ru/?id=672855. Страница грузится долго, и зачастую браузер опять-таки выдает страницу типа «Сервер не найден». Немного подредактируем ссылку: http://freesoft.ru/?id=672855.
Как видим, редактирование ссылки с редиректом – процесс несложный. Потренируемся? Допустим, дана ссылка с редиректом Из этой ссылки нужно удалить redirect.subscribe.ru/comp.inet.news.topnews,1397/20070806234514/10772=10628=10756=4979/m5959266/-/ до получения конечного адреса http://www.cnews.ru/news/line/index.shtml?2007/08/06/261654. Или можно удалить всё до www.cnews.ru/news/line/index.shtml?2007/08/06/261654, т.к. префикс http:// набирать в адресной строке браузера необязательно (но если вы подставляете отредактированный адрес ресурса в программу-качалку, то префикс http:// нужен).
http://banners.infostart.ru/adclick.php?bannerid=75&zoneid=2&source=&dest=http%3A%2F%2Fall1c.ru%2F Значимая часть этого редиректа – http%3A%2F%2Fall1c.ru%2F, что в «переводе» означает http://all1c.ru. При расшифровке следует помнить, что %2F – это /, а %3A – это :
http://www.viruslist.com/click?_URL=http://www.securitypipeline.com%2F Значимая часть этого редиректа – http://www.securitypipeline.com%2F, т.е. http://www.securitypipeline.com/.
*** Как избавиться от редиректа Чтобы избавиться от редиректа, нужно выделить из ссылки-редиректа конечный адрес, вставить его в адресную строку браузера и осуществить переход. Иногда, чтобы избавиться от редиректа в адресной строке браузера (после перехода по гиперссылке, содержащей редирект), бывает достаточно щелкнуть по кнопке Остановить. Редирект будет удален из адресной строки. Теперь нужно щелкнуть Обновить для загрузки конечной страницы (без редиректа).
*** Когда применение редиректа оправдано Например, вы создаете новый сайт, но пока зарегистрировано только доменное имя, а сайт контентом не заполнен. Или наоборот: после создания нового сайта старый сайт вы уже не поддерживаете (но и бросать пока не хотите), поэтому нужно перенаправить пользователей, привыкших к старому сайту, на новый адрес.
Для этого нужно в код веб-страницы вставить следующий код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script language="JavaScript1.1" type="text/javascript"> <!-- location.replace("http://www.new.site/page.htm/"); // в результате текущая страница будет заменена на http://www.new.site/page.htm/ //--> </script> <noscript> <meta http-equiv="Refresh" content="5; URL=http://www.new.site/page.htm/" /> <!-- для тех пользователей, у которых отключен JavaScript. Тэг Refresh позволяет через столько секунд, сколько указано в тэге content, после загрузки одной страницы автоматически загрузить другую --> </noscript> </head> <body> Мы переехали на <a href="http://www.new.site/page.htm/">новое место</a>. </body> </html>
В результате выполнения этого кода текущая страница через 5 секунд после загрузки в браузер пользователя будет заменена на http://www.new.site/page.htm/.
Если же вы хотите, чтобы текущая страница осталась и в то же время загрузилась другая, то используйте следующий код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <!--> <script language=JavaScript> window.open('http://www.new.site/page.html/');self.focus(); </script> <!--- --> </head> <body> Мы переехали на <a href="http://www.new.site/page.htm/">новое место</a>. </body> </html>
В результате выполнения этого кода, кроме текущей страницы, в браузер пользователя будет загружена и страница http://www.new.site/page.htm/.
Валерий Сидоров
|
© old-netler 2005 – 2009. All rights reserved.