Как сделать 301 редирект

Как сделать 301 редирект301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTPзаголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новомуURL. При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL.

Редирект с номером ошибки 301 (moved permanently) это наилучший способ сохранить рейтинг сайта в поисковых системах при переносе его на новый домен или смене системы управления контентом. Переадресацию можно выполнить несколькими способами, в зависимости от установленного программного обеспечения.

301 редирект в .htaccess

При использовании апача (apache) на сервере, переадресацию можно просто выполнить с помощью файла .htaccess, однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect, RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini.

Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias

Redirect 301 /old-page.html http://new-domain.ru/new-page.html

или

Redirect permanent /old-page.html http://new-domain.ru/new-page.html

Недостатком данного способа является то, что все адреса, которые необходимо перенаправить, нужно перечислять один за одним, каждый отдельно. Также можно использовать RedirectPermanent для аналогичных целей.

RedirectPermanent /old-url.html http://new-site.ru/new-url.html

Редирект с помощью директивы RedirectMatch

Этот редирект подобен предыдущему, за исключением того, что можно задавать регулярное выражение для старых URL адресов. Допустим, при смене движка с PHP наASP, можно старые адреса перенаправить следующим образом:

RedirectMatch /(.*)\.php$ /$1.aspx

Редирект с помощью директивы RewriteRule модуля mod_rewrite

Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite, а также влючена опция FollowSymLinks. Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

Перенаправление домена с www на не-www

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

или альтернативный, более понятный синтаксис

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Редирект запросов с не-www на домен с www префиксом

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

или же альтернативный вариант

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]

RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Редирект с помощью скрипта (отправки заголовков)

Редирект запросов можно осуществлять также с помощью скриптов, отправляя клиенту необходимые заголовки.

HTTP/1.1 301 Moved Permanently

Location: http://www.newdomain.ru/newdir/newpage.htm

PHP редирект

<?php

header(“HTTP/1.1 301 Moved Permanently”);

header(“Location: http://www.newdomain.ru/newdir/newpage.htm”);

exit();

?>

ASP редирект

<%@ Language=VBScript %>

<% 

Response.Status=“301 Moved Permanently”

Response.AddHeader “Location”, “http://www.new-url.com”

response.end

%>

ASP.NET редирект

<script runat=“server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(“Location”,“http://www.new-url.com”);

}

</script>

ColdFusion редирект

<.cfheader statuscode=“301” statustext=“Moved permanently”>

<.cfheader name=“Location” value=“http://www.new-url.com”>

JSP (Java) редирект

<%

response.setStatus(301);

response.setHeader( “Location”, “http://www.new-url.com/” );

response.setHeader( “Connection”, “close” );

%>

CGI PERL

$q = new CGI;

print $q->redirect(“http://www.new-url.com/”);

Ruby on Rails

def old_action

headers[“Status”] = “301 Moved Permanently”

redirect_to “http://www.new-url.com/”

end

Осуществление редиректа в nginx

if ($host = ‘www.domain.com’ ) {

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

}



Продвижение сайтов в Google

Продвижение сайтов в Google

Современной компании мало просто иметь сайт в интернете, для того чтобы привлекать как можно большее количество клиен...

27 Май 2020

SLOT88: Daftar Akun Pro Rusia Slot Serve…

SLOT88: Daftar Akun Pro Rusia Slot Server Luar Gacor Terbaru

Previously, before the advent of the Internet in every home, gamblers had to visit land-based gambling establishments...

03 Сент. 2023

Опросы:

Какими лучше ссылками продвигать сайт?
 

О сайте Seo-Live.com

О сайте Seo-Live.com

Журнал Seo-Live.com основан в 2009 году как информационный ресурс о заработке в сети, оптимизации и продвижении сайтов в поисковых системах.