Как настроить смартфоны и ПК. Информационный портал

Примеры редиректов в NGINX. Редиректы в nginx

Начнем с вопроса, что вообще это такое 301 редирект ? Редирект (Redirect) – это перенаправление пользователей с одного (сайта) на другой, либо с одной определенной страницы на другу. Используется он довольно таки часто и сейчас мы разберемся, как его настроить и для чего он нужен.

Для чего нужен 301 редирект?
  • Когда необходимо определить зеркало главной страницы или еще називают переадресация домена с www на без и на оборот.
  • Возможно Вы сменили домен и вам необходимо все показатели () и ссылочную массу со старого домена перенести на новый.
  • Если имеются дубли на сайте или необходимо перенаправить посетителей с одной определенной страницы на другую.
  • Если вы имеете или купили домен с отличными показателями и он схожей тематики с вашим сайтом, вы можете склеить (сделать 301 редирект ) домен и ваш сайт. Частично показатели купленного домена перейдут к вашему сайту. Почему частично? Да потому что никто вам не гарантирует 100% склейку всех показателей.
  • Перейдем непосредственно к настройке редиректа 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$

    Теперь без www префикса на домен с www:

    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.сайт;
    …. основная конфига. …
    }

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

    Настраиваем с помощью использования скриптов, редирект делаем на новый адрес сайта, со старого.

    PHP редирект:

    ASP редирект:


    ASP.NET редирект:


    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = “301 Moved Permanently”;
    Response.AddHeader(“Location”,“http://www.new-url.com”);
    }

    ColdFusion редирект:



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

    CGI PERL:

    $q = new CGI;
    print $q->redirect(“http://www.new-url.com/”);
    Ruby on Rails
    def old_action


    end

    Ruby on Rails:

    def old_action
    headers[“Status”] = “301 Moved Permanently”
    redirect_to “http://www.new-url.com/”
    end

    Лучшие статьи по теме