Верх страницы
Обложка к записи Способы задания 301-го редиректа
Время для прочтения: 0 мин. 17 сек.

Способы задания 301-го редиректа

Код состояния HTTP (англ. HTTP status code) со статусом 301 Moved Permanently (Перемещено окончательно) свидетельствует о том, что запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка.

Для чего это нужно?

В первую очередь, при изменении доменного имени сайта, необходимо оповестить поисковые системы о смене адреса сайта. Во-вторых, для склейки имени сайта с www и без него. В-третьих для быстрой передачи Page Rank на новый сайт.

PHP

Способ первый


<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.example.com"); 
exit(); 
?>

Способ второй


<?php 
header("Location: http://www.example.com", true, 301); 
exit(); 
?>

Perl

Способ первый


$cgi = new CGI;
print $cgi->redirect("http://www.example.com/");

Способ второй


#!/usr/bin/perl -w
use strict;
print "Status: 301 Moved Permanently\n";
print "Location: http://www.example.com/\n\n";
exit;

ASP.NET

Способ первый


<script runat="server">
private void Page_Load(object sender, System.EventArgs e) {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location","http://www.example.com");
}
</script>

Способ второй (с версии 4.0)

RedirectPermanent("http://www.example.com");

ASP

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.example.com/"
response.end
%>

Ruby on Rails

def do_something
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.example.com/"
end

ColdFusion

<.cfheader statuscode="301" statustext="Moved Permanently">
<.cfheader name="Location" value="http://www.example.com">

Java (JSP)


<%
response.setStatus(301);
response.setHeader("Location", "http://www.example.com");
response.setHeader("Connection", "close");
%>

Веб-сервер Apache (.htaccess)

Способ первый (mod_alias, Redirect)


Redirect 301 / http://www.example.com

Способ второй (mod_alias, RedirectPermanent)


RedirectPermanent / http://www.example.com

Способ третий (mod_alias, Redirect permanent)


Redirect permanent / http://www.example.com

Способ четвертый (mod_alias, RedirectMatch)


RedirectMatch 301 ^(.*)$ http://www.example.com/ 

Способ пятый (mod_rewrite)


Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

Веб-сервер ngix

rewrite ^(.*)$ http://www.example.com$1 permanent;

Ссылки

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

2 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Алексей
10 лет назад

Добрый день, подскажите пожалуйста, а в моём случае что делать? Сайт http://www.postel-msk.ru как правильно написать в Sitemap, что бы был переход на http://postel-msk.ru/ Спасибо за внимание

Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы