Создание редерикта 301

3
Просмотров: 818

Что же такое редерикт 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
Я в твиттере
Реклама на блоге

3 КОММЕНТАРИИ

  1. Ну да, последний способ для многих самый простой. Но по мне так и первые три тоже не сложные. Мне, кстати, скоро понадобится эта фишка. Так что, спасибо, что напомнил как это делается! 😉

  2. Значица попорядку:

    PHP Canonical перенаправление:
    Там значки какието не понятные у тебя (’)… явно ошибка.

    ASP перенаправление:
    В конце должна быть команда: Response.End

    ASP Canonical перенаправление:
    Глючное и неверное решение, будет давать сбой если в имени домена есть символы ‘www’.
    Ну и опять же, перед End If должно быть Response.End

    HTML перенаправление:
    Непнятно зачем, но тут ты запостил полный текст TCP ответа который должен поступить от сервера. Мне кажется мало кто понимает его значения (да и зачем это?). Раз уж ты написал «который просто надо вставить между строчек body», то и давай только тот текст который нужно там вставить.

    Мораль сей басни: важно не только копи-пастить, но и понимать содержимое.

ОСТАВЬТЕ ОТВЕТ