Переадресация 301. Как сделать 301 редирект

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

В каких случаях использовать редирект 301?

Использовать переадресацию 301 особенно удобно в следующих случаях:

  1. При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, буд-то перехода и вовсе не было.
  2. Для передачи новому домену Page Rank и тИЦ
  3. Для сохранения поискового трафика.
  4. Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: http://site.ru/sub, http://sub.site.ru или http://www.site.ru. Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки основного домена можно использовать «Инструменты для веб-мастеров».
  5. При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  6. При переносе страницы сайта в новое место.
  7. Для склейки имени сайта с префиксом www и без него.

    Пример использования редиректа 301

    Задача: удалить поддомен.

    Как это сделать корректно? Ведь его страницы наверняка уже проиндексированы и есть обратные сслыки.

    Самый простой способ — поставить редирект 301. Чтобы сделать переадресацию 301 для сайтов, размещенных на серверах Apache, необходимо внести изменения в файл сервера .htaccess. Для этого, нужно создать текстовый файл .htaccess и написать в нем такую строку:

    Redirect 301 / http://www.newsite.ru

    где:
    Redirect 301 — эта инструкция указывает, что сайт (страница) перемещен;
    / — означает, что всё с верхнего уровня сайта, включая все подкаталоги, будет переадресовано на новый домен.

    Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301, выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу. Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

    Чтобы установить переадресацию 301 для сайтов, размещенных на серверах Apache, необходимо внести изменения в файл сервера .htaccess. Дополнительные сведения можно найти в учебном пособии по файлам .htaccess для Apache и руководстве по изменению URL-адресов для Apache.

    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();
    ?>

    Использован материал: Переадресация 301 (Центр веб-мастеров Google)

    Если есть 90 минут до работы — можно получить заряд энергии на весь день.

    Больше на эту тему:

    9 377 просмотров
    Запись опубликована в рубрике Поисковая оптимизация с метками Redirect 301.

    Если вам понравилась статья, можете порекомендовать ее друзьям, сделав ретвит, нажав на кнопку Google +1 или «Лайк» :).

    103 комментария: Переадресация 301. Как сделать 301 редирект

    1. Mark Freeman говорит:

      Спасибо большое! Перерыл много сайтов и только на вашем нашел действительно действующий способ редиректа! :) Спасибо!

    2. Андрей говорит:

      Добрый день.

      На самом деле отличная статья (а в гугловских доках написано не всё, предлагаемое ими видео вообще бесполезно). Мучался весь день и только в 2 ночи нашел её, все заработало.

      Кроме одного, может быть вы сталкивались с этим. Редирект через файл .htaccess не работает на страницах блога. На главной странице и других, созданных вручную, все работает.

      • fortresseo говорит:

        Я не совсем понял, что именно не работает? Напишите, пожалуйста, подробнее.

        • Андрей говорит:

          Скорее всего проблемы у меня, точнее у хостера.
          Дело в том, что WordPress создает свой файл .htaccess с записью

          # BEGIN WordPress
          
          RewriteEngine On
          RewriteBase /blog/
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule . /blog/index.php [L]
          
          # END WordPress
          

          Так вот у меня получается, что страницы блога не редиректятся (если убрать код, то все норм). Как и ссылки на файлы.

    3. Gohar говорит:

      Добрый день, моя задача заключается в этом.

      На сайте доступны страницы по двум адресам — со слешем на конце и без него.

      Нужно привести все, которые со слешом к без слеша на конце.

      Буду очень благодарна если поможете мне. Какой из этих кодов можно использовать для решения данной проблемы? Спасибо.

    4. gohar говорит:

      Простите за мои глупые вопросы, я еще новичок в этом деле, хотела уточнить правильно ли я поставила код? потому что не сработал код ( после какого поля его нужно вставить? и подряд друг за другом вставить?

      • fortresseo говорит:

        Этот код я привел как пример. У вас он работать не будет. Наверняка у вас структура сайта организована по-другому.

        Посмотрите как было в первой строке перед символом $ нет обратного слэша. Чтобы он добавлялся, после $1 в правиле указывается слэш.

        Если вы хотите, чтобы правило наооборот убирало слэш, если он есть, то сделать надо как показано на примере «Стало».

    5. gohar говорит:

      А если у меня в htaccess нет такого поля вообще?

    6. gohar говорит:

      Ладно с этим попозже попробуем решить. У меня последнйи вопрос к вам, не могли бы вы помочь мне, необходимо, чтобы — При запросе ссылок вида http://www.domain.ru/index.php, http://www.domain.ru/home и т.п. сервер должен отдавать HTTP/1.1 301 Moved Permanently. При этом в поле Location должен быть прописан URL, содержащий основной хост ресурса, т.е. http://www.domain.ru/

    7. gohar говорит:

      Сайт написан в php, Нужно чтобы когда мы набираем http://www.domain.ru/index.php и http://www.domain.ru/home он автоматически перенаправил на http://www.domain.ru/ при этом сервер должен отдавать HTTP/1.1 301 Moved Permanently.

    8. gohar говорит:

      а вторая задача нужно когда мы набираем адрес http://www.vipglamur.ru/pribori/ он автоматически перенаправляет на http://www.vipglamur.ru/pribori — без слеша на конце

    9. gohar говорит:

      нашла в интернете вот этот код, но он не срабатывает, не понимаю почему ((

      • fortresseo говорит:

        Какой код не срабатывает? Ведь код не может быть универсальным и пригодным на все случаи жизни. Для каждой конкретной задачи код должен быть адаптирован.

    10. gohar говорит:

      Простите за то что отняла у вас много времени. Все равно не получилось и так:

      RewriteEngine On
      RewriteRule ^pribori/$ pribori $1 [R]
      
    11. Александр говорит:

      Добрый день. Помогите решить задачу.
      У меня есть сайт А и сайт Б.
      Они абсолютно разные по структуре.
      Я хочу прикрыть сайт А, но так, чтобы когда пользователи попадали на него, они видели сообщение, что сайт переехал.
      И можно ли перенести тИЦ и PR с сайта А на сайт Б?
      Спасибо за ответ.

    12. fortresseo говорит:

      Чтобы сохранить параметры сайта (тИЦ, PR), нужно поставить 301 редирект. А как сделать так, чтобы пользователю сообщалось, что сайт переехал, ответить затрудняюсь.

    13. Марина говорит:

      А как сделать вот такой редирект, скажите пожалуйста?
      Чтобы со всех страниц размещенных по пути
      http://мой_сайт/catalog/все_страницы
      перенаправляло на
      http://мой_сайт/все_страницы

      Заранее благодарю за ответ.

      • fortresseo говорит:

        У меня была похожая ситуация. На сайте был раздел продукции для потребителей, который назывался consumer. Потом заказчик сказал убрать эту подкатегорию. Чтобы пользователям из поиска не была показана ошибка 404, я сделал вот такой редирект:

        RewriteRule ^([A-Za-z]+)/products/consumer/$ /$1/products/ [R]
        #RewriteRule ^([A-Za-z]+)/products/([A-Za-z0-9]+)/$ /$1/products/ [R]
        

        У вас аналогичная ситуация. Пользователей надо перенаправлять со страницы catalog на уровень выше. В вашем случае, надо убрать все лишнее и получится такая запись:

        RewriteRule ^/catalog/$ /$1/ [R]
        #RewriteRule ^/$ /$1/ [R]
        
      • Владимир говорит:

        Подскажите, пожалуйста, а как сделать вот такой редирект:
        Чтобы все страницы, размещенные по пути
        http://мой_сайт/все_страницы,
        перенаправляло в новые разные каталоги, например,
        http://мой_сайт/catalog1/страница1.html
        http://мой_сайт/catalog1/страница2.html
        http://мой_сайт/catalog2/страница3.html
        http://мой_сайт/catalog3/страница4.html
        и т. д.
        Т. е. нужно распределить все страницы (сейчас их 75) по категориям
        Спасибо.

        • fortresseo говорит:

          Нужно сначала решить можно ли сделать общее правило для всех страниц.

          Скорее всего нет. Для одной группы страниц нужно одно правило,Ю которое будет пренаправлять в один каталог, для других — другое правило.

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

          • Владимир говорит:

            Да, видимо, нужно для одной группы страниц одно правило, которое будет перенаправлять в один каталог, для других — другое правило.

            А что означает «маска для пакетной обработки»?

            А, в принципе, можно ли сделать свой редирект для каждой страницы?
            Например: Redirect 301 /страница1.html http://мой_сайт/catalog1/страница1.html

            • fortresseo говорит:

              Маска — это когда у многих страниц есть что-то общее и отличительная часть, которую можно задать в виде формулы (диапазона), например диапазон чисел и символов и т. д.

              Например, маска ^([A-Za-z]) учитывает все УРЛ, в которых встречаются символы от A до Z (как прописные, так и строчные).

              А создавать кадое правило конечно можно, если только эти правила нельзя обобщить одной формулой.

              Покажите несколько УРЛ которые надо перенаправить и на какие адреса.

    14. Павел говорит:

      Пожскажите, как сделать редирект, если изменился адрес некоторых страниц сайта с http://mysite.com/articles.php?id=10 на http://mysite.com/articles.php?id=12 и т.д.

      Страниц около 150, поэтому хочу прописать вручную для каждой страницы.
      Вот так правильно?

      Redirect 301 /articles.php?id=10 articles.php?id=12
      Redirect 301 /articles.php?id=11 articles.php?id=114

      Можно-ли это сделать через панель инструментов google?

      • fortresseo говорит:

        Правильный редирект будет выглядеть вот так:
        Redirect 301 /articles.php?id=10 http://mysite.com/articles.php?id=12

        Через панель Веб-мастеров Гугл делать переадресацию не пробовал, всегда создавал файл .htaccess

        • Павел говорит:

          Спасибо, Илья! Я так понял, что еще нужно включить модуль mod_alias. Но на своем хостинге в файле php.ini я не нашел строки, где можно его включить. Как быть?

          • fortresseo говорит:

            У меня в Денвере и у моего хостера — mod_alias включен по-умолчанию.

            А что у вас редирект не работает?

    15. Павел говорит:

      Илья, в службе поддержки мне сказали, что редирект можно сделать и через .htaccess и через Cpanel. В общем я залил на хостинг обновленный сайт вместе со списком редиректов в файле .htaccess. Но если я, например, нахожу в Интернете статью на своем сайте, кликаю по ней, то открывается другая статья, т.к. адреса страниц были мной изменены. Значит редирект не работает или нужно время?

      • fortresseo говорит:

        Что-то не совсем понял.
        > кликаю по ней, то открывается другая статья, т.к. адреса страниц были мной изменены.
        Открывается не та статья на которую вы перенаправляли со старой статьи?

        Чтобы редирект заработал, не нужно ждать. Как только прописано правило, оно тут же начинает действовать. На счет кэша — не помню чтобы он был помехой. Как только я добавлял редирект, тут же видел результат.

    16. Максим говорит:

      Доброе утро! У меня следующая ситуация :
      Домен переехал на другой хостинг, но в поисковиках остались старые ссылки.
      Подскажите с помощью какой команды можно перенаправить старые внутренние ссылки на новые(или нужно каждую ссылку перенаправлять отдельно?)

      Файл .htaccess у меня на сервере выглядит вот так
      # 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

      # 2. In your opencart directory rename htaccess.txt to .htaccess

      # For any support issues please visit: http://www.opencart.com

      Options +FollowSymlinks

      # Prevent Directoy listing
      Options -Indexes

      # Prevent Direct Access to files

      Order deny,allow
      Deny from all

      # SEO URL Settings
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

      ### Additional Settings that may need to be enabled for some servers
      ### Uncomment the commands by removing the # sign in front of it.
      ### If you get an «Internal Server Error 500″ after enabling, then restore the # as this means your host doesn’t allow that.

      # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
      # php_flag register_globals off

      # 2. If your cart has magic quotes enabled, This may work to disable it:
      # php_flag magic_quotes_gpc Off

    17. Alex говорит:

      Если вас не затруднит помогите и мне, нужно переадресовать с одной страницы на другую. Так как вы указали не выходит

      Redirect 301 /articles.php?id=10 http://mysite.com/articles.php?id=12

      Не получается все ровно открывается адрес http://mysite.com/articles.php?id=10

      Выше прописано условие для переадресации с www и работает без проблем

      И вот такое условие работает

      Redirect 301 /article.php http://www.site.ru/article.php?id=12

      А нужно чтоб заработало
      Redirect 301 /my_article.php?id=10 http://www.site.ru/my_article.php?id=11
      Или
      Redirect 301 /my _article.php?id=10 http://www.site.ru/map

      Спасибо

    18. Валодя говорит:

      Добрый день. У меня возникла проблема. Есть сайт на голом html структуру имеет site.ru/category/post1 и тд (post2, post3, так же есть разные категори — category1 и тд) сообразил как убрать index.html из адреса site.ru/index.html а вот в остальных папках непойму — файл нужно ложить в каждую папку или можно напистаь в корне и работать будет везде? если только в корне — то что прописать нужно?

      • fortresseo говорит:

        Совершенно верно, файл нужно ложить в каждую папку.

        Если хотите, чтобы УРЛ выглядел эстетично. То нужно чтобы каждый файл назывался index.htm и лежал в соответствующей паке.

        Например, к индексному фалу путь такой: site.ru/category/post1/index.htm, а ссылка на эту страницу должна быть такой: site.ru/category/post1/.

    19. Здравствуйте. Прошу помочь. 2 суток ищу информацию, безуспешно.
      Имеем: виртуальный хостинг с двумя домнами-заркалами одного сайта.
      Задача: сделать так, чтобы при заходе на мой сайт http://www.2001photo.COM или 2001photo.COM пользователь попадал на англоязычную страницу english.php
      При заходе на сайт-зеркало http://www.2001photo.RU или 2001photo.RU попадал на русскую страницу russian.php.
      Я использовал следующий код:
      Options +FollowSymLinks
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^www.2001photo.com
      RewriteRule (.*) http://2001photo.com/english.php$1 [R=301,L]

      Больше ничего не получается. При попытке добавить другой переход или переход с http://www.2001photo.com на http://www.2001photo.com/english.php всё перестает работать… Зацикливается english.php в адресе или происходит зацикливание между редиректами.

    20. Mikhail.Petrov говорит:

      Добрый день, у меня такой вопрос необходимо сделать редирект 301
      В данный момент у меня на сайте все новости доступны по 3 ссылкам:
      1) Без слеша (/) Пример: http://onesee.ru/films/comedy-online
      2) Со слешем (/) Пример http://onesee.ru/films/comedy-online/ (получило сделать редирект скриптом ниже)
      3) .html Пример http://onesee.ru/films/comedy-online.html (необходимо чтобы все редиректились на .html)
      необходимо сделать чтобы был редирект со всех ссылок без слеша и со слешем на .html

      Редирект с сылок сослешем у меня получилось сделать вот так
      RewriteEngine On
      RewriteBase /
      RewriteRule ^(.*)/$ $1\.html [R=301,L]
      Как сделать редирект со страниц без слеша?

    21. Владимир говорит:

      После установки магазина, на него можно зайти только таким способом: mysite.org/catalog/, но хочу, чтобы можно было заходить, набрав просто mysite.org, поможет ли мне в этом переадресация? Мой файл .htaccess выглядит так:

      # $Id$
      #
      # This is used with Apache WebServers
      #
      # For this to work, you must include the parameter ‘Options’ to
      # the AllowOverride configuration
      #
      # Example:
      #
      #
      # AllowOverride Options
      #
      #
      # ‘All’ with also work. (This configuration is in the
      # apache/conf/httpd.conf file)

      # The following makes adjustments to the SSL protocol for Internet
      # Explorer browsers

      #
      #
      # SetEnvIf User-Agent «.*MSIE.*» \
      # nokeepalive ssl-unclean-shutdown \
      # downgrade-1.0 force-response-1.0
      #
      #

      # If Search Engine Friendly URLs do not work, try enabling the
      # following Apache configuration parameter

      # AcceptPathInfo On

      # Fix certain PHP values
      # (commented out by default to prevent errors occuring on certain
      # servers)

      # php_value session.use_trans_sid 0
      # php_value register_globals 1

      Помогите, уже замучался с этим вопросом.

    22. Чайник говорит:

      Доброго времени суток!
      Отличная статья. Есть вопрос по маске или правилу:

      ссылки на товары в магазине выглядят так
      site.ru/categoria/tovar
      один из модулей, выводящих популярные товары добавляет к адресу ?Itemid=101
      то есть ссылки из модуля выглядят так
      site.ru/categoria/tovar?Itemid=101

      Можно ли создать правило, перенаправляющее ссылки с ?Itemid=101 на такие же, только без этих символов?

    23. Сергей говорит:

      Здравствуйте!
      Собрался переделать динамические адреса вида «view_post.php?id=$1″ на своем сайте в статический вид — «post/1/». Само преобразование сделал следующим образом:
      RewriteRule ^post/([0-9]+)/\.?$ view_post.php?id=$1
      После этого страница стала открываться по обоим адресам. Теперь надо сделать 301 редирект, также массово (т.е. номер параметра может быть любой и надо, чтобы правило работало для всех подобных страниц), но ничего не выходит. Помогите, пожалуйста разобраться с этой проблемой. А то весь Инет перерыл, так и не разобрался…

    24. Сергей говорит:

      Опечатался, передавать надо динамические адреса «view_post.php?id=1″

    25. Сергей говорит:

      Добрый вечер…
      Решил свою задачу с помощью старого доброго PHP. Пришлось для этой цели написать маленький скрипт, который выполняет 301 редирект на новый статический вариант страницы вида «post1/1″, только в том случае, если страница была открыта по своему старому адресу вида «view_post.php?id=1″

      Через htaccess так и не смог сделать такой сложный редирект, чтобы корректно передать из старой ссылки в новую только параметр (зато о многих других полезных фишках узнал и буду их применять)… Спасибо за статью.

      • fortresseo говорит:

        Сергей, вы молодец, что сами справились с этой задачей. Если хоите, можете поделиться кодом. Может это еще кому нибудь окажется полезным.

    26. nahi говорит:

      ДОбрый день!

      Можно ли сделать редирект
      с адрес/картинка.жпг/

      на

      адрес/картинка.жпг

      то есть на картинку без слэша то есть

      СПасибо

    27. А как сделать редирект с index.php на корень сайта? нужно избавить ся от дублей.

    28. Artaaroth говорит:

      Возникла проблема. Вписал в .htaccess

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^site.ru
      RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
      

      В итоге получаю ошибку 310.

    29. fortresseo говорит:

      Ошибка 310 — это возникает когда слишеом много редиректов. Наверное это бесконечный цикл.

      Но вы как-то по-своему написали код. Сравните:

      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
      RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
      
    30. maxeg говорит:

      Доброго времени суток!
      подскажите пожалуйста, можно ли сделать шаблон для редиректа, если URL изменились следующим образом:
      старый URL — http://site.ru/games.php?game=193
      Новый URL — http://site.ru/games.php?game=5193
      т.е. id для всех страниц было увеличено на определенное (заранее известное) число

    31. gransh говорит:

      Добрый день,
      Помогите плиз написать редирект с адресов типа
      /index.php?ukey=product&productID=10631
      на адреса типа
      /index.php?productID=10631
      старые ссылки нужно заменить новые
      ID много разных

    32. Вадим говорит:

      Здравствуйте!
      Можете подсказать правило для редиректа адреса site.ru/home.html на site.ru.
      Сколько искал, нигде не мог найти!
      Буду очень благодарен!

    33. Вадим говорит:

      Спасибо, я уже сделал!:-)

    34. Сергей говорит:

      Здравствуйте Илья. Я тут почитал комментарии, но похожего моему случаю по-моему тут нет.

      Я установил поддомен. И мне надо сделать перенаправление с основного сайта только с одной категории на поддомен этого же сайта на главную. Т.е. вот так: http://мой сайт/категория на http://поддомен.мой сайт. Можно ли это в .htaccess сделать?

      И чтобы при постинге в эту категорию (http://мой сайт/категория) новости автоматом публиковались сразу на поддомене на главной.

      • fortresseo говорит:

        Перенаправление с категории основного сайта на поддобен выглядит вот так:

        Redirect 301 http://мой-сайт/категория http://поддомен.мой сайт

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

        • Сергей говорит:

          На поддомене есть отдельная админка и база у сайта на поддомене своя. Дело в том, что я скрыл из меню эту категорию «» (вы наверно поняли почему) и она имеет сейчас вот такой вид: http://поддомен.мой (на основном домене).

          Категория не отображается в меню основного сайта, а так в админке основного сайта она есть. Вот нужно ли делать редирект из этой категории с основного сайта но поддомен-на главную?

          И как сделать чтобы новости при обращении к основному сайту к категории «» публиковались уже на поддомене на главной? И нужно ли ставить такой редирект в htacces на основном домене: «http://мой-сайт/ID299 http://поддомен.мой«?

          • fortresseo говорит:

            Честно говоря не совсем понял для чего всё это нужно.

            • Сергей говорит:

              Для чего всё это нужно: 1) вы знаете отношение некоторых серьёзных партнёрских программ и поисковых систем к ***. 2) мне нужно, чтобы при публикациях в категорию с *** эти публикации автоматом переносились на главную на поддомен, т.к. поддомен специально был создан для ***-контента (при том, что многие журналисты ещё льют свои новости на сайт не вручную, а с помощью таких программ как Addnews и др.). Вообщем мне нужно узнать: нужен ли редирект с основного домена с ***-категории на поддомен с ***-категориями, как это реализовать и как сделать чтобы при публикации ***-контента он автоматом публиковался на главной на поддомене?

    35. pavas говорит:

      Здравствуйте!
      Как лучше сделать редирект, если на старом хостинге нет доступа к .htaccess, php там тоже не поддерживается? Сайт переехал с site.spb.ru на site.ru.
      Заранее благодарен.

      • fortresseo говорит:

        Чтобы сохранить показатели тИЦ. PR редирект 301 просто необходим. Ну а как так произошло, что нет доступа к .htaccess? У вас нет досупа к хостингу?

    36. Александр говорит:

      А нужно ли во второй строчке перед «-» ставить «\» ? Или это не обязательно?

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^new\-site\.ru [NC]
      RewriteRule ^(.*)$ http://www.new-site.ru/$1 [L,R=301]
      
    37. Юлия говорит:

      Добрый день! В индекс поисковых систем попали страницы вида http://www.site.ru//index.php?q=page.html. Необходимо их удалить или заменить на следующие http://www.site.ru/page.html.

      У меня еще в .htaccess есть одна запись, которая очень меня смущает. Может в ней загвоздка?

      # For Friendly URLs
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
      

      Спасибо за помощь.

      • fortresseo говорит:

        В 4 строке действительно странная вещь написана. Зачем она нужна?

        У меня в .htaccess такого нет и таких проблем тоже :)

        # BEGIN WordPress
        
        RewriteEngine On
        RewriteBase /
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
        
        # END WordPress
        
        
        
        • Юлия говорит:

          Так как же всё-таки удалить из индекса страницы вида http://www.site.ru/index.php?q=page.html

          Если удаляю 4 строку сайт не работает. Или достаточно изменить ее на RewriteRule . /index.php [L] ?

          Но как сделать, чтобы динамических страниц вообще не было.
          Огромное спасибо за помощь.

          • fortresseo говорит:

            Чтобы удалить из индекса ненужные страницы, начинающиеся с параметра ?q=, добавьте в robots.txt строку:

            Disallow: /?q=

          • fortresseo говорит:

            Попробуйте 4 строку изменить на
            RewriteRule . /index.php [L] ?

            • Юлия говорит:

              Спасибо. Изменения внесла. Сайт не развалился). Время покажет, как себя повели данные команды.

              • fortresseo говорит:

                Рекомендую проверить доступность страниц с помощью инструмента Анализ robots.txt http://webmaster.yandex.ua/robots.xml.

                Если всё сделано правильно, то со временем, ненужные страницы должны полностью исчезнуть из индекса.

                Если нужно ускорить этот процесс, а количество не очень велико, то можно удалить их ручками.

                • Юлия говорит:

                  К сожалению, сайт развалился — работает только главная страница, а на других страницах адреса изменяются, а внешность — главной страницы. Пришлось возвращать строку RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] назад. А как удалять такие страницы вручную? Физических адресов ведь нет. Адреса имеют нормальный вид http://www.site.ru/page.html, но в индекс вместо них выходят адреса с index.php?q=

    38. Soao говорит:

      Это всё хорошо, но кто знает, как сделать, чтобы при редиректе id (номер) страницы оставался прежним а вся остальная часть кода менялась, и так с каждым id-шником, с каждым элементом, можно ли так сделать?

      • fortresseo говорит:

        Конечно можно. Нужно использовать регулярное выражение.

        • Soao говорит:

          А реально ли это объяснить человеку, который слабо заком с программированием, точней совсем не знаком, на примере или как-нибудь, чтобы хоть какая-то ясность настала? Если не затруднит…спасибо.

    39. Soao говорит:

      Да, проверила, работает.

    40. Михаил говорит:

      Здравствуйте.
      Есть проблемка — поисковики по запросам направляют посетителей вместо страницы с нужной им темой на вспомогательные страницы этой же темы (куда пользователь сам мог бы принять решение зайти со страницы темы).
      Можно как-то прописать в .htaccess такой редирект, при котором посетитель по выдаче попадал бы на страницу темы, а если пользователь потом с этой страницы по ссылке сам захотел бы перейти на ту вспомогательную страницу, с которой его перенаправили, он-таки попадал бы на неё и редирект по ссылке на странице сайта уже не работал бы и не возникало бы циклических переходов?
      Сайт — html-страницы.

      • fortresseo говорит:

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

        А возможности делать селиктивный редирект со страницы на которую пришешли из поиска — нет. Или всех релиректить или никого.

        • Михаил говорит:

          Самый правильный ответ. Респект.
          К сожалению, в моём случае не катит. Владелец сайта упорно не желает «ложиться» под поисковики.
          Если селективный редирект невозможен, какой может быть выход? Попандер с предложением выбора страниц для дальнейшего просмотра?
          Есть здесь где про попандеры прочитать?)

          • fortresseo говорит:

            Зачем так сложно? Не лучше ли отредатировать текст? Написать что подробнее почитать можно на странице такой-то и дать ссылку.

            Отформатировать соответсвующим образом, чтобы эта информация считывалась в первую очередь.

            В общем это надо на самом примере видеть что там да как, чтобы можно было более конкретно говорить.

            • Михаил говорит:

              Посещение ~ 0 сек. Народ сразу видит, что не туда попал.

              • fortresseo говорит:

                Это плохо. Показатель отказов 100%. Поисковики будут занижать эту страницу в выдаче.

                • Михаил говорит:

                  Пусть бы занижали, может, основная поднялась бы, так ведь не занижают)(

                  • fortresseo говорит:

                    Может проставьте с других страниц своего сайта ссылки на нужную страницу, чтобы передать ей больше веса.

                    • Михаил говорит:

                      Понадобятся сотни ссылок. Поэтому хочу решить вопрос административно:»Ты туда не ходи»…

    41. Валерий говорит:

      Здравствуйте, подскажите, один момент, связанный с редиректом.
      На старом сайте (интернет-магазин) поставили 301 редирект в .htaccess на новый сайт.
      Насколько важно физическое сохранение контента всего старого сайта на сервере,
      Или оно уже роли не играет, можно оставить один файл .htaccess и все?

    42. Kosmodrom говорит:

      U menya na FTP net fayla .htaccess, a kak delat 301 redirekt skriptami- ne znayu. Ne podskazhete? Sayt v profile.

    43. Владимир говорит:

      Подскажите пожалуйста как сделать 301 редирект.
      Нужно чтобы со страниц вида http://мой_сайт/страница1.html?start=300 перекидывало на http://мой_сайт/страница1, а с http://мой_сайт/страница5.html?start=7000 на http://мой_сайт/страница5

    44. Malek говорит:

      Не могу понять. Как Правильно сделать Редирект для ссылок, для скачивания с депозитфайлс, при клике на ссылку человек не сразу попадает на депозит, а на специально созданную страницу, а уже после определенного промежутка времени посетитель перебрасывается на сам депозит.

      • fortresseo говорит:

        Значит ему нужно давать ссылку на специальную страницу, которая автоматически перенаправит его на депозит.

    45. Сергей говорит:

      Здравствуйте fortresseo

      После аудита сайта мне прислали вот что:

      На вашем сайте имеется несколько доступных для индексирования служебных странниц. Например: http://fresh-portal.net/index.html. Наличие подобных страниц может усложнить правильную индексацию вашего сайта. Кроме того, на данные странницы ссылаются сторонние сайты, что приводит к неправильному распределению веса со стороны поисковых систем. Необходимо со всех служебных странниц и странниц копий установить 301 редирект на основные странницы.

      Как это сделать подскажите пожалуйста.
      Скажу сразу что служебную страницу я с хостинга удалил.
      Но сайт все равно открывается по адресу fresh-portal.net/index.html

    46. Владимир говорит:

      Сайт забанил Гугл. Я все сделал, направил на проверку, но время идет…
      Сделал зеркало и переадресацию на него (с zazimye.com на zazimye.bcv.name)
      На Эксплорер нормально, на Мозиле и Хроме — не переадресует.
      Не могу понять, в чем дело, что еще надо сделать?

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    *

    Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>