Серверный 301 редирект и файл htaccess

301-redirekt-i-RedirectPermanent

Серверный 301 редирект

Файл .htaccess является инструментом настройки конфигурации web-сервера Apache, на основе которого работают большинство современных хостингов. Отличительной особенностью файла .htaccess является то, что, директивы, в нем описанные, действуют лишь на тот каталог (папку), в котором он находиться. .htaccess выполняет довольно большое количество функций: ограничивает доступ к каталогам, блокирует доступ к файлам определенного формата, устанавливает права доступа к папкам на основе ip-адреса, позволяет создавать редиректы, скрывает структуру каталогов сайта. Наравне с robots.txt, .htaccess позволяет «общаться» с поисковыми ботами.

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

301 редирект и RedirectPermanent – перенаправление

Данный код означает, что файлы навсегда перемещены и сообщает их новый адрес. 301 редирект полезен в случаях, когда наш сайт переехал на новый домен или для обозначения главного зеркала сайта.

Рассмотрим вариант переезда на новый домен. Возможно, кто-то из читателей заметил, что этот блог отображается теперь по адресу adminpab.ru и если набрать в адресной строке «блогадмина.рф», то мы все равно попадаем на «adminpab.ru». Сделано это как раз с помощью RedirectPermanent. Вот так выглядит содержание файла .htaccess в корневом каталоге сайта блогадмина.рф:

RedirectPermanent / http://adminpab.ru/

То есть этот код сообщает новый адрес, по которому были перемещены файлы сайта. Не забудьте поставить «/» в конце!

Если необходимо перенести лишь некоторые страницы сайта, сохранив при этом их PageRank, то делается это с помощью 301 редиректа:

Redirect 301 /olddirectory/oldpage.html http://adminpab.ru/newpage.html

То есть мы сообщаем, что страница oldpage.html в каталоге olddirectory перемещена по адресу adminpab.ru/newpage.html

Переадресовывание адреса сайта с www на без www

Главное зеркало сайта прописывается в директивах файла robots.txt, но не всегда поисковые боты правильно считывают эту информацию, поэтому рекомендую подстраховаться. С помощью 301 редиректа прописываем главный хост нашего сайта:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^adminpab\.ru$ [NC]
RewriteRule ^(.*)$ http://www.adminpab.ru/$1 [R=301,L]

Замена типа страниц с htm на html

Случается, что при переезде на новый движок сайта или в других случаях, необходимо сменить расширения файлов страниц. Разберем на примере, заменим htm на html:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

Я постарался не вникать в слишком сложные вопросы по работе с 301 редиректом, постаравшись ограничиться самым необходимым. В дальнейшем планирую написать серию статей о модулях Apache и использованию файла .htaccess. Если будут какие-то вопросы – пишите в комментариях. Спасибо за внимание!

Вы можете высказать свое мнение к посту Серверный 301 редирект и файл htaccess и обсудить его с другими читателями.

Комментарии (22) к “Серверный 301 редирект и файл htaccess”

  1. Подскажи, как правильно указать редирект с одной внутренней страницы на другую.
    У меня каким-то образом проиндексировалась страница предпросмотра статьи с кракозябрами в url, а сама статья c релевантной запросу транслитерацией никак не может занять своё место.
    Сам пробовал делать запись c редиректом, но кажется не правильно. Страница так и осталась в индексе, хотя должна ж склеиться.

  2. Андрей:

    Redirect 301 /krokozyabry.html http://mysite.com/normalpage.html
    То есть указываем новый адрес по которому надо открывать страницу.
    С Яндексом, наверно, проблемы? Он долго сайты индексирует.

  3. С Яшей конечно.
    Это дословно прописывать в .htaccess(с поправкой на мой сайт :)?
    Redirect 301 /krokozyabry.html http://mysite.com/normalpage.html

  4. Объясните, пожалуйста, блонинке, как сделать 301 редирект с mysite.ru/blog на mysite.ru? Блог на WordPress, в mysite.ru/blog нет файла htaccess

    • Андрей:

      Елена, если в папке blog нет файла htaccess, то его необходимо создать. (Можно прямо в блокноте, сохранив под именем .htaccess)В нем прописать
      RedirectPermanent / http://mysite.ru/
      Собственно, этого будет достаточно.

  5. Что значить дословно? =)
    1. Пишем Redirect 301
    2. Пишем урл той страницы, которую необходимо перенести.
    3. Пишем новый полный адрес этой страницы.
    Если будут вопросы, то пишите на почту, указанную в контактах, постараюсь помочь.

  6. nuvorish:

    Огромное спасибо автору за простой в понимании текст без SEO-шного сленга и наворотов. После данной статьи я Ваш постоянный читатель.

  7. не знаю сможете помочь или нет, но вот:

    делаю 301 редирект таким образом:

    Redirect 301 /stat/page.htm http://www.sait.ru/question/page.htm

    все хорошо, но конечная ссылка на которую производится переход после редиректа выглядить как http://www.sait.ru/question/page.htm?url=stat/page.htm

    как избавится от этого вопроса и ненужного окончания?

    если можно то ответ на почту, так как не нашел как подписаться на комменты

  8. Aleks:

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

    Подскажите, пожалуйста:
    Как сделать, чтобы с главной страницы сайта (домена) вида http://www.mydomain.com/ осуществлялся редирект на страницу http://www.mydomain.com/abc/ , иначе говоря, чтобы всегда вместо главной страницы вида http://www.mydomain.com/ показывалась страница http://www.mydomain.com/abc/ . Пересмотрел много вариантов, но так ничего и не получилось путного.

    Заранее спасибо.

  9. Руслан:

    Здравствуйте. у меня пара вопросов по редиректу: как правильно редактировать файл htaccess?? как я понял из него всё удаляется и вставляется один из ваших примеров? или как то ещё? я попробовал сделать так как написано в примерах, но при переходе на сайт редирект не срабатывает. и второй вопрос: какой метод мне больше подходит если сайты расположены на одном хост-аккаунте но в разных корневых папках?
    Заранее благодарен!

    • 1.Если в htaccess уже что-то есть (чаще всего это внутренние настройки движка) то лучше ничего не стирать, а дописать свои команды ниже. Но тут надо следить за тем, чтобы ваши директивы не конфликтовали с теми, которые уже прописаны. Если редирект не срабатывает, то скорее всего какие-то директивы либо не правильно прописаны, либо конфликтуют с другими директивами.
      2.htaccess действует только на ту папку, в которой находиться. То есть у каждого сайта должен быть свой htaccess в корневой папке.

  10. тим:

    Добрый день! Скажите пожалуйста, а как настроить редирект для большого количества страниц? Или для каждой отдельно писать редирект — в случае в интернет магазине — при смене движка произошел смена url — и около 150 позиций потеряли прежние адресса. Как быть в данном случае?

    • Нужно смотреть принцип, по которому формировался url. Если старые и новые url’ы имеют какую-то общую черту — редирект можно сделать.

  11. Игорь:

    Не получается:
    Нужно переадресовать с:
    http://filter-tver.com/%D0%9A%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6%D0%B8-%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82%D1%83%D1%8E%D1%89%D0%B8%D0%B5/%D0%9A%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6-%D0%93%D0%B5%D0%B9%D0%B7%D0%B5%D1%80-%D0%A1%D0%92%D0%A1-%D1%81-%D1%81%D0%B5%D1%80%D0%B5%D0%B1%D1%80%D0%BE%D0%BC-10SL.html
    на страницу:
    http://filter-tver.com/kartridzhi-i-komplektuyushchie/dlya-filtrov/gejzer/item/svs-s-serebrom-10sl
    Прописываю:
    Redirect 301 /Картриджи-и-комплектующие/Картридж-Гейзер-СВС-с-серебром-10SL.html http://filter-tver.com/kartridzhi-i-komplektuyushchie/dlya-filtrov/gejzer/item/svs-s-serebrom-10sl
    Не переадресовывает почему-то. «Менеджер перенаправлений» в Joomla 2.5 съел только 12 ссылок, а остальные не хочет.
    Помогите, плз.

  12. А насколько полезна эта склека через 301 редирект?

  13. Здравствуйте, куда в файле .htaccess вставить
    редирект 301

    # Используйте PHP5 Одноместный php.ini по умолчанию
    AddHandler application/x-httpd-php5s. PHP

    # Начало W3TC Cache Browser

    AddType текст / CSS. CSS
    AddType текст / х-компоненту. HTC
    AddType применение / х-JavaScript. JS
    AddType применение / JavaScript. Js2
    AddType текст / JavaScript. СП3
    AddType текст / X-JS. СП4
    AddType текст / HTML. HTML. HTM
    AddType Текст / RichText. RTF. RTX
    AddType изображений / SVG + XML. SVG. SVGZ
    AddType текст / равнина. TXT
    AddType текст / XSD. XSD
    AddType текст / XSL. XSL
    AddType тексте / XML. XML
    AddType видео / ASF. ASF. ASX. Воском. WMV. WMX
    AddType видео / AVI. AVI
    AddType изображений / BMP. BMP
    AddType применение / Java. Класса
    AddType видео / DivX. DivX
    AddType применение / MSWord. Док. DOCX
    AddType применение / vnd.ms-fontobject. СРВ
    AddType применение / х-msdownload. Exe
    AddType изображения / GIF. GIF
    AddType применение / х-GZIP. GZ. GZIP
    AddType изображений / X-иконы. ICO
    AddType изображение / JPEG. JPG. JPEG. JPE
    AddType применение / JSON. JSON
    AddType применение / vnd.ms-доступа. MDB
    AddType аудио / MIDI. Середину. Миди
    AddType видео / QuickTime. MOV. Qt
    AddType аудио / MPEG. Mp3. M4a
    AddType video/mp4. Mp4. M4V
    AddType видео / MPEG. MPEG. Миль на галлон. ПДВ
    AddType применение / vnd.ms-проекта. MPP
    AddType применение / х-шрифты OTF. OTF
    AddType применение / vnd.oasis.opendocument.database. ОДБ
    AddType применение / vnd.oasis.opendocument.chart. ODC
    AddType применение / vnd.oasis.opendocument.formula. ODF
    AddType применение / vnd.oasis.opendocument.graphics. КГД
    AddType применение / vnd.oasis.opendocument.presentation. ОРС
    AddType применение / vnd.oasis.opendocument.spreadsheet. ОРВ
    AddType применение / vnd.oasis.opendocument.text. ODT
    AddType аудио / OGG. OGG
    AddType применение / PDF. PDF
    AddType изображение / PNG. PNG
    AddType применение / vnd.ms-PowerPoint. Банк. PPS. PPT. PPTX
    AddType аудио / X-RealAudio. РА. RAM
    AddType применение / х-ударно-вспышка. SWF
    AddType применение / х-тар. Смол
    AddType изображений / TIFF. TIF. TIFF
    AddType применение / х-шрифт TTF. TTF. TTC
    AddType аудио / WAV. WAV
    AddType аудио / WMA. WMA
    AddType применение / vnd.ms и записи. ИМР
    AddType применение / vnd.ms-Excel. СА. XLS. XLSX. XLT. XLW
    AddType применение / ZIP. ZIP

    На ExpiresActive
    ExpiresByType текст / CSS A31536000
    ExpiresByType текст / X-компонент A31536000
    ExpiresByType применение / х-JavaScript A31536000
    ExpiresByType приложения / JavaScript A31536000
    ExpiresByType текст / JavaScript A31536000
    ExpiresByType текст / X-JS A31536000
    ExpiresByType текст / HTML A3600
    ExpiresByType Текст / RichText A3600
    ExpiresByType изображений / SVG + XML A3600
    ExpiresByType текст / равнина A3600
    ExpiresByType текст / XSD A3600
    ExpiresByType текст / XSL A3600
    ExpiresByType тексте / XML A3600
    ExpiresByType видео / ASF A31536000
    ExpiresByType видео / AVI A31536000
    ExpiresByType изображений / BMP A31536000
    ExpiresByType приложений / Java A31536000
    ExpiresByType видео / DivX A31536000
    ExpiresByType приложений / MSWord A31536000
    ExpiresByType приложений / vnd.ms-fontobject A31536000
    ExpiresByType применение / х-msdownload A31536000
    ExpiresByType изображения / GIF A31536000
    ExpiresByType применение / х-GZIP A31536000
    ExpiresByType изображений / X-икона A31536000
    ExpiresByType изображение / JPEG A31536000
    ExpiresByType приложения / JSON A31536000
    ExpiresByType приложений / vnd.ms доступа A31536000
    ExpiresByType аудио / MIDI A31536000
    ExpiresByType видео / QuickTime A31536000
    ExpiresByType аудио / MPEG A31536000
    ExpiresByType video/mp4 A31536000
    ExpiresByType видео / MPEG A31536000
    ExpiresByType приложений / vnd.ms-проекта A31536000
    ExpiresByType применение / х-шрифты OTF A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.database A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.chart A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.formula A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.graphics A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.presentation A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.spreadsheet A31536000
    ExpiresByType приложений / vnd.oasis.opendocument.text A31536000
    ExpiresByType аудио / OGG A31536000
    ExpiresByType приложений / PDF A31536000
    ExpiresByType изображение / PNG A31536000
    ExpiresByType приложений / vnd.ms PowerPoint-A31536000
    ExpiresByType аудио / X-RealAudio A31536000
    ExpiresByType изображений / SVG + XML A31536000
    ExpiresByType применение / х-ударно-вспышка A31536000
    ExpiresByType применение / х-тар A31536000
    ExpiresByType изображений / TIFF A31536000
    ExpiresByType применение / х-шрифт TTF A31536000
    ExpiresByType аудио / WAV A31536000
    ExpiresByType аудио / WMA A31536000
    ExpiresByType приложений / vnd.ms-записи A31536000
    ExpiresByType приложений / vnd.ms-Excel A31536000
    ExpiresByType приложений / ZIP A31536000

    Заголовок добавления Вары User-Agent ENV =! Dont-меняются

    AddOutputFilterByType DEFLATE текст / CSS текст / X-компонент применение / х-JavaScript Application / JavaScript текст / JavaScript текст / X-JS текст / HTML Текст / RichText изображений / SVG + XML текст / текст / XSD текста / XSL тексте / XML изображение / X-значок приложения / JSON

    # DEFLATE по расширению
    AddOutputFilter DEFLATE JS CSS HTM HTML XML

    Pragma набор заголовков «общественность»
    Заголовок добавления Cache-Control «общественность»

    Pragma набор заголовков «общественность»
    Заголовок добавления Cache-Control «общественность»

    <FilesMatch

    Pragma набор заголовков «общественность»
    Заголовок добавления Cache-Control «общественность»

    # Конец W3TC Cache Browser
    # Начало W3TC ядро ​​Кэш страницы

    На RewriteEngine
    RewriteBase /
    RewriteCond% {HTTPS} = ON
    RewriteRule * — [E = W3TC_SSL: _ssl].
    RewriteCond% {} SERVER_PORT = 443
    RewriteRule * — [E = W3TC_SSL: _ssl].
    RewriteCond% {HTTP: Accept-Encoding GZIP}
    RewriteRule * — [E = W3TC_ENC: _gzip].
    RewriteCond% {} REQUEST_METHOD! = POST
    RewriteCond% {QUERY_STRING} = «»
    RewriteCond% {} HTTP_COOKIE (comment_author | WP-postpass | w3tc_logged_out | wordpress_logged_in | wptouch_switch_toggle)! [NC]
    RewriteCond -F
    RewriteRule. * [L]

    # Конец W3TC ядро ​​Кэш страницы
    # Начало WordPress

    На RewriteEngine
    RewriteBase /
    . RewriteRule ^ индекс \ PHP $ — [L]
    RewriteCond% {} REQUEST_FILENAME!-F
    RewriteCond% {} REQUEST_FILENAME!-D
    RewriteRule. / Index.php [L]

    # END WordPress

  14. Здравствуйте! Я купил домен moysite.com c высоким тиц и хочу склеить его с уже работающим доменом и сайтом moysite.ru. Как это лучше сделать я не понял, хотя у вас все, вроде, понятно расписано…?!

  15. Хочу прописать редирект с www на без него.
    Посмотрел в подразделе «Переадресовывание адреса сайта с www на без www» вы указали директивы для этого. Вот меня что-то сомнения мучают, такое ощущение, что указаны директивы редиректа с без www на www. Я не ошибся?

Оставить Ответ

Я не спамер и не робот!