Начнем с вопроса, что вообще это такое 301 редирект ? Редирект (Redirect) – это перенаправление пользователей с одного (сайта) на другой, либо с одной определенной страницы на другу. Используется он довольно таки часто и сейчас мы разберемся, как его настроить и для чего он нужен.
Для чего нужен 301 редирект?Перейдем непосредственно к настройке редиректа 301 для разных серверов.
Как настроить 301 редирект.htaccess?Если вы используете сервер Apache, то вы без проблем сможете сделать 301 редирект с помощью файлов.htaccess или httpd.conf. Необходимо так же включить модули, для поддержки директив.:
Директивы:- mod_alias (Redirect, RedirectPermanent и RedirectMatch);
- mod_rewrite (RewriteRule).
Используем директивы Redirect или RedirectPermanent, для настройки 301 редиректа
co старой страницы на новую страницу, нового сайта.
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 /old-page.html http://new-site.ru/new-pagehtml
Недостатком этого метода является то, что все страницы которые необходимо перенаправлять, нужно прописывать одну за другой (последовательно). Используем директиву RedirectMatch, для тех же целей.
RedirectMatch /(.*)\.php$ /$1.aspx
Данный метод можно использовать при переносе сайта с PHP движка на ASP.
Переадресация домена с www префиксом на без www в.htaccess.Как уже говорилось склеивать домены с www и без, необходимо для того, что бы получить главное зеркало сайта. Если в выдаче будет два , то поисковые системы могут наложить санкции на сайт, так как они будут воспринимать их как два разных сайта.
Используем директивы RewriteRule для редиректа 301
, домена с www префиксом на без него. Как пример будем использовать наш сайта:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.loleknbolek\.com$
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^loleknbolek\.com$
RewriteRule ^(.*)$ https://сайт/$1
Старайтесь сразу при создании сайта делать домен без www. Если вы купили сайт, то сразу проверяйте есть ли зеркала, так как я говорил, наличие зеркал сайта в поисковой системе, может негативно сказаться на вашем ресурсе.
Как настроить 301 редирект nginx?Давайте рассмотрим пример переадресации для сайта с www на без www. Пример для нашего сайта:
if ($host = ‘www.www.сайт’) {
rewrite ^(.*)$ https://сайт$1 permanent;
}
Можно еще попробовать вот так:
server {
server_name сайт;
rewrite ^ https://сайт$request_uri? permanent;
}
server {
server_name www.сайт;
…. основная конфига. …
}
Настраиваем с помощью использования скриптов, редирект делаем на новый адрес сайта, со старого.
PHP редирект: ASP редирект:
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(“Location”,“http://www.new-url.com”);
}
JSP (Java) редирект
$q = new CGI;
print $q->redirect(“http://www.new-url.com/”);
Ruby on Rails
def old_action
end
def old_action
headers[“Status”] = “301 Moved Permanently”
redirect_to “http://www.new-url.com/”
end