Всё больше знакомых спрашивает меня что такое редирект (redirect) и для чего он нужен. Это и послужило поводом для написания данной статьи. Надеюсь, она поможет начинающим Web-программистам разобраться в тонкостях работы с ними и немного освежит память уже знающим людям.
Зачем нужен редирект и для чего его используют.
Редирект используют для перенаправления посетителей сайта с одной страницы на другую. В каких случаях и для чего это может понадобиться? Вариантов может быть довольно много: например, причиной для использования редиректа может послужить смена доменного имени сайта. Предположим, у Вас был некий сайт http://site. com/ с хорошей посещаемостью. В силу сложившихся обстоятельств, Вам пришлось сменить этот старый домен на http://mysite. com/. Некоторые могут воскликнуть: "Зачем использовать редирект? А как же паркинг домена (Parked Domains)? К чему такие трудности - зашел в cpanel и добавил новый домен, делов-то!" Так вот, на самом деле, отличия есть. Конечно, и в первом, и во втором случае человек увидит нужный для него сайт. Разница лишь в том, что при паркинге под доменами http://site. com/ и http://mysite. com/ понимается один и тот же сайт, а при редиректе произойдет перебрасывание со сменой URL в адресной строке веб-браузера.
Редирект также используют для перенаправления с http://www. site. com/ на http://site. com/ или наоборот - это уж как кому захочется.
Ещё возможен вариант, когда редирект применяется для добавления в конце ссылки слэша - косой черты "/". Например, http://site. com/news редиректят на http://site. com/news/ .
Кроме того, многие любители подзаработать используют редирект для т. н. "склейки" доменов. Фальшиво получают хороший PR (PageRank) и ТИЦ (тематический индекс цитирования). а потом пытаются продать домен за деньги. И среди массы Интернет-любителей и начинающих Web-дизайнеров обязательно найдется тот, кто его купит.
Статус-коды редиректов:
"300" Multiple Choices (несколько вариантов на выбор)
"301" Moved Permanently (перемещено навсегда)
"302" Temporary Redirect (временный редирект)
"303" See Other (затребованный ресурс можно найти по др. адресу)
"304" Not Modified (содержимое не изменялось - это могут быть рисунки, таблицы стилей и т. п.)
"305" Use Proxy (доступ должен осуществляться через прокси)
"306" (Unused) (не используется)
Давайте рассмотрим подробнее как работает редирект "301". Пользователь открывает браузер и в адресной строке вводит ссылку http://site. com/index. php. Нажимает кнопочку Ввод (Enter). В это время браузер формирует HTTP-запрос и отправляет его серверу, который, в свою очередь, возвращает HTTP-ответ. Если у нас установлен редирект "301", то в поле "Location" будет указан новый адрес страницы - http://site. com/news. php. куда нас, собственно, и перенаправят:
Теория - это хорошо, но она должна подкрепляться практикой. Поэтому наша задача - сообщить, что страница перемещена, и затем перебросить посетителя на другую.
Пример кода на PHP
Создаем файл index. php:
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: news. php" );
Простой редирект через. htaccess или httpd. conf
Redirect 301 /index. php /news. php
Redirect permanent /index. php /news. php
Редирект через. htaccess с использованием mod_rewrite
Этот метод работает в Apache c включенным mod_rewrite - модулем, который позволяет осуществлять ряд полезных функций. Например, преобразование ссылок вида http://site. com/index. php? module=news в более удобную и интуитивно понятную форму для обычного человека: http://site. com/news/. Благодаря ему, мы можем конфигурировать редирект под конкретно взятую ситуацию. Подробнее о возможностях mod_rewrite Вы можете прочитать здесь .
RewriteEngine on
RewriteBase/
GET /index. html HTTP/1.1
RewriteCond %
RewriteRule ^index\.php$ http://daxa. com. ua/news. php [R=301,L]
RewriteEngine on - включает механизм преобразования.
RewriteBase - простыми словами можно сформулировать так: RewriteBase указывает директорию преобразования. У нас это корневой каталог.
RewriteCond - в этой директиве мы указывает условие, в случае выполнения которого переходим к RewriteRule.
RewriteRule - задает правило преобразования URL. Здесь используются регулярные выражения.
[R=301,L] - флаг R указывает на редирект "301", L - останавливает процесс преобразования.
Помните, что редирект делают не только для посетителей Web-сайта, а и для поисковых роботов, от которых зависит рейтинг Вашего Интернет-портала в поисковых системах.
Что такое редирект (redirect) и зачем он нужен?
В Интернете часто можно встретить понятие redirect (редирект). Давайте разберемся, что это такое и зачем это нужно.
Начнем с самого определения. Redirect (редирект) – с англ. переводится как переадресовывать. Кого переадресовывать и куда переадресовывать? Давайте посмотрим на примере.
Представим себе ситуацию, вы хотите зайти на сайт http://abc. ru. Вы набрали адрес этого сайта в адресную строку браузера, нажали на кнопку «Перейти», но вместо сайта http://abc. ru у вас открывается сайт http://def. ru
Произошел так называемый редирект. Вас переадресовали с одной веб-страницы на другую.
Для чего это вообще может быть нужно? Зачем такие сложности в подмене адреса?
Дело в том, что в процессе разработки сайта, в нем могут меняться многие вещи:
+ Какие-то страницы переехали в другое место.
+ Меняется общая структура сайта.
+ Или вообще, автор решил поменять название (доменное имя ) сайта.
Во всех этих случаях, если обратиться к странице по старому адресу, то сервер не сможет выдать нужной информации и выдаст ошибку, у которой будет код 404.
Наверно, часто приходилось видеть такую картину?
Страница не найдена по тому адресу, по которому вы ее ищете.
Чтобы избежать такой ситуации и чтобы вместо ошибки отображалась нужная страница, но по новому адресу, используют редиректы.
Основная их задача направить вас в нужное место, где вы можете получить всю самую свежую и актуальную информацию.
Также может быть ситуация, что вы рекламируете в Интернет какой-либо курс или товар и вам не хотелось бы, чтобы пользователи видели исходный url-адрес и вам нужна подробная статистика переходов по каким-либо ссылкам.
Возможно этот url-адрес может быть слишком длинным.
По этому адресу можно явно определить, что это какое-то рекламное сообщение и можно просто обрезать какую-то часть адреса и вам не будет засчитан переход.
Вы хотите увидеть сколько конкретно человек и когда перешло по вашей ссылке.
Чтобы решить эти проблемы, вы можете воспользоваться специальным скриптом, который организует целый редирект центр.
Скрипт так и называется Redirector. Почитать о нем подробнее можно здесь .
Seo блог, продвижение, оптимизация сайта и WordPress уроки
Главная » Новичку » Как сделать 301 редирект сайта в. htaccess
Как сделать 301 редирект сайта в. htaccess
Здравствуйте, уважаемые читатели блога о раскрутке сайта. Сегодня я расскажу о том, как сделать 301 редирект сайта. что это такое и зачем может понадобиться редирект сайта.
Редирект ( от англ. redirect) - переадресация посетителя с одной страницы на другую, либо же перенаправление с одного домена на другой. То есть, человек набрав в строке браузера адрес сайта, переходя на него, его перебрасывает на другой сайт. Как посетители, так и поисковые роботы, зашедшие по одному адресу, будут переведены по другому.
Редирект может понадобиться при смене домена, который уже знают люди и, чтобы не терять посетителей беребрасывать их на другой сайт.
Другим способом применения может служить редирект для поднятия тиц и pr другого домена. Например, можно купить домены с тиц и pr ( не забудьте посмотреть историю доменов). Так как, при редиректе передаются свойства старого домена новому, этот способ подойдет для поднятия тиц сайта
Самый лучший способ переадресации, это редирект 301. С ним можно передать все свойства старого домена новому, сохранив позиции сайта. А значит можно переходить с одного хостинга на другой или менять движок вашего сайта.
Да, еще, помните плагин WP-NoExternalLinks, который вы могли встретить в статье как закрыть внешние ссылки на WordPress сайте. одна из его возможностей делать редирект внешних ссылок, таким образом обращая их во внутренние.
Как сделать 301 редирект в. htaccess
Сделать редирект можно несолькими способами, но я предлагаю рассмотреть самый надежный - через файл. htaccess. Думаю вы помните, где находится он? Открываем FTP клиент FileZilla. подключитесь к вашему серверу и в корневой директории сайта ( /public_html ) найдите файл. htaccess, закачайте к себе на компьютер.
Простой редирект
Чтобы сделать 301 редирект с одного сайта на другой, пропишите в. htaccess на том сайте, с которого должны перенаправляться посетители:
Что такое редирект, и как от него избавиться?
Что такое редирект
Редирект (от англ. redirect – переориентировать(ся); redirect output – переадресовывать результат; redirection – переадресация, перенаправление) – это автоматическое (принудительное) перенаправление пользователя с одного веб-адреса на другой (страница-перенаправление).
Редиректом также называют программное решение (скрипт), которое принудительно перенаправляет пользователя с выбранной веб-страницы на другую.
Зачастую редирект не соответствует интересам пользователя.
Для выполнения редиректа используются мета - теги Refresh. cgi - скрипты, Java - скрипты или серверные приложения. Ссылку с редиректом можно распознать по протяженности и «многоэтажности».
Поисковые системы, как правило, не жалуют страницы-редиректы. Хотя некоторые поисковики сами часто «грешат» редиректами, например, AltaVista может выдать такой результат (на запрос драйвер HP LaserJet 1000 ):
http://av. rds. yahoo. com/_ylt=A0Je5XleUO9GB0EAjI5TDqMX;_ylu=X3oDMTBzZnMycjZhBHBndANhdl93ZWJfcm
VzdWx0BHNlYwNvdi10b3A-/SIG=1jbvdv0ml/EXP=1190175198/**http%3a//rc12.overture. com/d/sr/%3fxargs=15KPjg1%255FlSn5amwrurdbvASOSLxl4axca59clsDJh4GtRc5iMxXOJ%255FaKrJnMNxTexxv1PdzPOU%255FaEfLvH9mPuLFQ6OTFCKGO
DpjdLJzoM7MaijW21xv%252DwhwunrnINIPHYGOlaBZ5Kzn%252DjMNoe4Mn9L%255FplwlV6U%255FPBqwMi2wuAfFbjO
iQN1iEGqftlAtbZ408G2LZgBSrVcf9mc5SLiAplB3Y0mne30DhAoKSqn5Wl4qyyBIDhp%255FqPKeJEPp7f1k5Gcb%255FWsyJVkW2
aT5Kwj%252DELHiivfk98nJpoGaAO5EL6Nqykc5dttnlp6pda%255FnI6fGuoZ63S%255FSMzZF2rp23I%252DcV9BY%255FvdD
HvOcSNlpEvFZcQQfMm4q3SzUe3CXGZ%252DIRdQgIzwYJNEjEqdnCw%255FT2uQUMSPtS5fY7gr5SKgrm
OC%255Fkp%255FmLg6%252DNbvHA%252E%252E%26yargs=www. Shopping. com%252Fprinters.
И пока пользователь доберется (если доберется!) до конечной страницы www. shopping. com/printers. он попутно – даже не догадываясь об этом! – «накрутит» показания двух счётчиков сайтов с рекламой av. rds. yahoo. com и 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%26la%3Dru%26nh%3D10%26st%3D1%26rf%3D0%26qs%3D%26hpvc%3Dsitewide%26uf%3D1%26qt=
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. rian. ru/.
• Тройной редирект
Некоторые ссылки содержат тройной (!) редирект, например,
http://www. cnews. ru/cgi-bin/redirect_cnews. cgi? http://redir. rbc. ru/cgi-bin/redirect. cgi? regn
http://www. regnum. ru/goto/?22:0:http://www. regnum. ru/news/866787.html
Конечный адрес – 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://rotabanner2.rian. ru//cgi-bin/href/196?18845&login=nrian_slot_main_779x144&referer=http%3A%2F%2Fwww. rian. ru%2F
Конечный адрес – http%3A%2F%2Fwww. rian. ru%2F. т. е. http://www. rian. ru/.
Как выделить редирект из гиперссылки
Пользователю, заинтересовавшемуся какой-либо гиперссылкой, содержащей редирект, сам редирект (точнее, его первоначальная часть) не нужен, – даже более того, из-за редиректа конечный адрес может быть недоступен (в редиректе значимой является конечная часть – конечный адрес). Кроме того, страница с редиректом грузится долго, к тому же попутно «накручивает» неизвестно какие ресурсы.
• Например, вам нужно найти и скачать драйвер принтера HP LaserJet 1000. Вы заходите на сайт www. hp. com и после нескольких телодвижений получаете ссылку для скачивания, которая имеет вид
http://h20000.www2.hp. com/bizsupport/TechSupport/SoftwareDownloadEventHandler. jsp? redirectReason=SWD_FTP_Request&swItem=lj-1243-5&prodSeriesId=45674&prodLine=8A&targetPage=ftp%3A%2F%2Fftp. hp. com%2Fpub%2Fsoftlib%2Fsoftware4%2FCOL1032%2Flj-1243-5/lj1000hostbased-ru. exe&filesize=4453354
Но когда вы пытаетесь перейти по этой ссылке, браузер может «потеряться» и выдать вам итоговую страницу типа «Сервер не найден». А ведь в этой ссылке с редиректом уже заключена нужная вам ссылка, но в зашифрованном виде. Если убрать шелуху наслоений, которая нужна исключительно для того, чтобы вы накручивали счетчик посещений www. hp. com. то получим нужную нам ссылку
ftp://ftp. hp. com/pub/softlib/software4/COL1032/lj-1243-5/lj1000hostbased-ru. exe.
• Другой пример. Допустим, в рассылке по законодательству нас заинтересовала ссылка на новый законодательный акт
http://redirect. subscribe. ru/law. russia. review. consprof,4261/20070828145747/n/m5959266/-/www. consultant. ru/online/base/?req=doc;base=LAW;n=70640;ref=s
Но при простом щелчке по ссылке браузер выдает страницу типа «Сервер не найден». Убрав «шелуху» редиректа, получаем конечную ссылку
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.
Как видим, редактирование ссылки с редиректом – процесс несложный. Потренируемся?
Допустим, дана ссылка с редиректом
http://redirect. subscribe. ru/comp. inet. news. topnews,1397/20070806234514/10772=10628=10756=4979/m5959266/-/www. cnews. ru/news/line/index. shtml?2007/08/06/261654.
Из этой ссылки нужно удалить 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/
<noscript>
<meta http-equiv="Refresh" content="5; URL=http://www. new. site/page. htm/" /> <!-- для тех пользователей, у которых отключен JavaScript. Тег R efresh позволяет через столько секунд, сколько указано в тэге content, после загрузки одной страницы автоматически загрузить другую -->
</noscript>
</head>
<body>
Мы переехали на <a href="http://www. new. site/page. htm/">новое место</a>.
</body>
</html>
В результате выполнения этого кода текущая страница через 5 секунд после загрузки в браузер пользователя будет заменена на http://www. new. site/page. htm/.
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-6667286237319125"
data-ad-slot="5736897066">
Комментариев нет:
Отправить комментарий