Создание редерикта 301
2009
Что же такое редерикт 301 ?
URL redirection- или по простому перенаправление URL, это техника применяемая в интернете для того что бы веб-страница была доступна под несколькими URL.
Причины использования редерикта, как правило следующее:
Схожие доменые имена. Или пользователь браузера может ввести URL-адрес с ошибкой, к примеру, вместо «google.com» «googel.com». Организации часто регистрируют такие домены «с ошибкой» и перенаправляют их на «правильные» адреса. К примеру адреса «example.com» и «example.net» могут оба перенаправлять на единый домен или веб-страницу, к примеру, на «example.org». Эта техника часто используется для резервирования других доменов верхнего уровня с одинаковыми именами. Часто также «.edu» и «.net» перенаправляют на более легко узнаваемый домен «.com».
И еще одна причина самая распространенная это переезд сайта на новый домен .
Рассмотрим 4 метода перенаправления URL:
Метод 1..htaccess фаил (Apache)
В. Htaccess файл должен быть в вашем веб-сайте в корневом каталоге на веб-сервере.
Перенаправление в Апачи происходит подменном страницы:
Redirect 301 /old/oldpage.htm /new/http://www.domain.com/newpage.htm
Для смены домена, используется следующий код:
RewriteEngine On RewriteCond %{HTTP_HOST} ^.*oldwebsite.com$ [NC] RewriteRule ^(.*)$ http://www.preferredwebsite.net/$1 [R=301,L]
Apache .htaccess Canonical перенаправление:
Options +FollowSymlinks RewriteEngine on rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
——————————————————————————————————
Метод 2. Используем PHP
Вставьте следующий код в вашу PHP страницу:
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.newdomain.com/page.html"); exit(); ?>
PHP Canonical перенаправление:
<?php if (substr($_SERVER['HTTP_HOST'],0,3) != ‘www’) { header(’HTTP/1.1 301 Moved Permanently’); header(’Location: http://www.’.$_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']); } ?>
——————————————————————————————
Метод 3. Используем ASP
<% Response.Status="301 Moved Permanently" Response.AddHeader='Location','http://www.new-url.com/' %>
ASP Canonical перенаправление
<% If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www." & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME") End if %>
——————————————————————————————————-
Метод 4. Используем HTML
Посмотрим правде в глаза, многие не понимают кодов и скриптов, многие не используют их в своих сайтах. По этому вот самый простой код написанный на HTML, и который просто надо вставить между строчек < body > < / body >
HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/
Content-Type: text/html
Content-Length: 174
< html >
< head >
< title >Moved< / title >
< / head >
< body >
< h1 >Moved< /h1 >
< p >This page has moved to < a href=»http://www.example.org /» >http://www.example.org/< /a >.< /p >
< / body >
< / html >
———
Понравился пост, подпишись на RSS, или на E-mail Я в твиттере Реклама на блоге |
Ну да, последний способ для многих самый простой. Но по мне так и первые три тоже не сложные. Мне, кстати, скоро понадобится эта фишка. Так что, спасибо, что напомнил как это делается!
Значица попорядку:
PHP Canonical перенаправление:
Там значки какието не понятные у тебя (’)… явно ошибка.
ASP перенаправление:
В конце должна быть команда: Response.End
ASP Canonical перенаправление:
Глючное и неверное решение, будет давать сбой если в имени домена есть символы ‘www’.
Ну и опять же, перед End If должно быть Response.End
HTML перенаправление:
Непнятно зачем, но тут ты запостил полный текст TCP ответа который должен поступить от сервера. Мне кажется мало кто понимает его значения (да и зачем это?). Раз уж ты написал «который просто надо вставить между строчек body», то и давай только тот текст который нужно там вставить.
Мораль сей басни: важно не только копи-пастить, но и понимать содержимое.
Кстати до кучи… в HTML перенаправлении, яб ещё в head добавил тэг «meta» с параметром «refresh».