Способы задания 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;
Ссылки
- Список кодов состояния HTTP
- Как с помощью PHP сделать редирект с кодом 301 (Moved Permanently)?
- Redirect
- RedirectMatch
- RedirectMatch
- HttpRewriteModule
- Java Redirect
- ColdFusion Redirect
- Rails: 301 Permanent Redirect
- ASP Redirect Method
- 301 Permanent Redirect в ASP.NET
Добрый день, подскажите пожалуйста, а в моём случае что делать? Сайт http://www.postel-msk.ru как правильно написать в Sitemap, что бы был переход на http://postel-msk.ru/ Спасибо за внимание
В .htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://postel-msk.ru/$1 [R=301,L]