Редирект сайта htaccess: Редирект через .htaccess | REG.RU

Содержание

как настроить правильную переадресацию страниц

seo-оптимизатор

Теги: Внутренняя оптимизация

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

301 Редирект в .htaccess: Настройка переадресации для сайта

Смотрите это видео на YouTube

  • Что такое redirect 301

  • Когда и зачем использовать 301 редирект?

  • Настраиваем 301 редирект через .htaccess

  • Правильный 301 редирект на новый домен

  • Ошибки, которые могут возникнуть при настройке 301 редиректа

  • Как проверить, что редирект 301 работает правильно

  • Популярные вопросы и ответы на них

Что такое redirect 301

301 редирект (ответ сервера HTTP 301 или Moved Permanently) – это способ постоянного перенаправления поисковых запросов и пользователей с одного URL-адреса на другой.

Как он работает и чем отличается от других редиректов

301 редирект является наиболее постоянным и рекомендуемым способом перенаправления поисковых запросов и пользователей с одного URL-адреса на другой. Он работает следующим образом: при запросе браузером страницы, сервер возвращает HTTP-статус 301 и указывает новый URL-адрес страницы в заголовке ответа. После этого браузер автоматически перенаправляет пользователя на новый адрес.

Основные преимущества заключаются в следующем:

  1. Постоянность: 301 редирект действует бессрочно и рекомендуется поисковыми системами при переезде страниц (так называемая склейка).
  2. Сохранение ранжирования: при использовании 301 редиректа, поисковые системы сохраняют результаты страницы на новом URL-адресе.
  3. Удобство использования: настройка 301 редиректа происходит на уровне сервера, что позволяет легко и быстро настроить перенаправление.

Другие виды редиректов, могут быть использованы для временного перенаправления, например:

  • 302 редирект: это временный редирект, который сообщает поисковым системам и браузерам, что страница временно перемещена на другой URL-адрес. При использовании этого типа редиректа поисковые системы продолжают индексировать и ранжировать исходную страницу, а не новую.
  • 307 редирект: аналогичен 302-му, за исключением того, что при его использовании метод HTTP-запроса не меняется, то есть сохраняется оригинальный метод HTTP-запроса, в отличие от 302 редиректа, который переключается на GET-запрос.
  • Meta-редиректы: это редиректы, которые настраиваются внутри кода HTML-страницы с помощью тега <meta> и атрибута «http-equiv». Они используются для перенаправления поисковых роботов и браузеров с одной страницы на другую.

Хотя эти редиректы могут быть использованы для перенаправления поисковых запросов и пользователей, рекомендуется использовать 301 редирект в качестве основного способа перенаправления.

Когда и зачем использовать 301 редирект?

Наиболее часто он используется для следующих целей:

  1. Перемещение сайта на новый домен: позволяет сохранить поисковые позиции и результаты страниц на новом домене.
  2. При переходе с http на https и других изменений главного зеркала: чтобы склеить копии страниц.
  3. Устранение дублей: позволяет сделать так, чтобы все дубликаты ссылались на одну корректную страничку.
  4. Изменение URL-адресов на сайте: при изменении адресов страниц на сайте, 301 редирект позволяет сохранить трафик на страницах и избежать ошибок 404.
  5. Устранение битых ссылок: при обращении к несуществующей странице сайта, может перенаправлять на главную страницу сайта или наиболее подходящую страницу.
  6. Мобильная версия: перенаправление пользователей мобильных устройств на соответствующую версию сайта.
  7. ГЕО: перенаправление пользователей в зависимости от их геолокации на нужный поддомен или папку.

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

Настраиваем 301 редирект через .htaccess

Что такое .htaccess и где его взять?

Файл под названием .htaccess находится в главной категории вашего сайта. Это дополнительный конфигурационный файл web-сервера Apache, в котором мы будем указывать правила склейки. Открываем файл блокнотом (рекомендую notepad++ или sublime, чтобы не было проблем с кодировкой). Если у вас их нет — рекомендую обзавестись, а заодно посмотрите мои инструменты для работы.

Файл .htaccess может не отображаться — включите отображение скрытых файлов. И в корне вашего сайта вы его увидите через FTP-клиент.

Наглядно, где лежит у меня .htaccess

Общий шаблон для .htaccess, которым мы будем пользоваться:

Options +FollowSymLinks
RewriteEngine On
#Здесь указываем правила, которые идут ниже

Все правила записываются в виде:

RewriteCond [Сравнение] [Условие] [Флаги]
RewriteCond [Сравнение] [Условие] [Флаги]
RewriteRule [Шаблон] [Подстановка] [Флаги]

Теперь непосредственно займемся переадресацией и разберем конкретные примеры. (.*)$ http://new-site.ru/$1 [R=301,L]

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

Ошибки, которые могут возникнуть при настройке 301 редиректа

При использовании редиректа 301 могут возникнуть следующие ошибки:

  1. Неправильный URL-адрес назначения: если вы указали неправильный URL-адрес для перенаправления, то пользователи будут перенаправлены на неверную страницу. Чтобы избежать этой ошибки, необходимо тщательно проверять URL-адрес назначения перед созданием редиректа.
  2. Циклический редирект: это происходит, когда две страницы перенаправляют друг на друга, образуя цикл. Это может привести к ошибкам и снижению ранжирования в поисковых системах. Чтобы избежать циклического редиректа, необходимо тщательно планировать свои редиректы и проверять их наличие внимательно.
  3. Несовместимость HTTP и HTTPS: если ваш сайт использует HTTPS, а редирект настроен на HTTP, пользователи могут столкнуться с ошибкой безопасности и не смогут получить доступ к вашему сайту. Чтобы избежать этой ошибки, убедитесь, что все ваши редиректы настроены на HTTPS.
  4. Неправильная настройка сервера: если сервер не настроен, редиректы могут не работать. Чтобы избежать этой ошибки, рекомендуется обратиться к специалистам, которые могут помочь с настройкой сервера.
  5. Непонимание своих действий: если вы не знаете Apache у вас или Nginx, не понимаете устройство файла .htaccess — делайте копию работающего файла. А лучше обратитесь к специалистам.

Как проверить, что редирект 301 работает правильно

Существует несколько способов проверить, что редирект 301 работает правильно:

  1. Используйте онлайн-инструменты, такие как Bertal (если нужно разово) или PixelTools (если нужно массово + доп. параметры), чтобы проверить, что редирект перенаправляет на правильный URL-адрес и не имеет ошибок (смотрите ответ сервера чтобы был именно 301 и на какой URL перенаправляет).
  2. Проверьте индексацию новой страницы в поисковых системах. Если страница индексируется и отображаться в поисковых результатах (старый URL при этом исчезает из выдачи), это может указывать на то, что редирект работает правильно.
  3. Проверьте файл журнала сервера, чтобы убедиться, что редиректы не вызывают ошибок у пользователей и ботов или проблем в работе сервера.

Популярные вопросы и ответы на них

В чем разница между 301 и 302 Редиректом?

Где прописывается редирект?

  • Что такое redirect 301

  • Когда и зачем использовать 301 редирект?

  • Настраиваем 301 редирект через .htaccess

  • Правильный 301 редирект на новый домен

  • Ошибки, которые могут возникнуть при настройке 301 редиректа

  • Как проверить, что редирект 301 работает правильно

  • Популярные вопросы и ответы на них

Помните: для этого контента требуется JavaScript.

Этот сайт использует файлы cookie для улучшения удобства пользователей. Продолжая пользоваться сайтом, вы даете согласие на использование файлов cookie.

Редирект для сайта на WordPress: через плагин или htaccess

Редиректы для сайта на CMS WordPress можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.

  • Через плагин;
  • Через htaccess;
  • Как проповерить.

301 редирект для сайта на WordPress

Для этого переходим в административную панель сайта во вкладку «Плагины»-«Добавить новый», где в поиске вводим «redirection».

Устанавливаем появившийся плагин (автор John Gadley) и активируем его.

Переходим в настройки.

Соглашаемся с базовыми настройками.

Система проверит сайт и завершаем настройку.

Дожидаемся установки и переходим в интерфейс плагина.

Чтобы сделать редирект с одной страницы на другую потребуется перейти в «Редирект».

Далее «Добавляем новый».

Далее заполняем:

  • Исходный URL;
  • Целевой URL.

Все готово в списке появится.

Редирект с http на https для WordPress

Чтобы включить настройку потребуется перейти в вкладку «Сайт» и включить опцию:

Force a redirect from HTTP to HTTPS

С WWW на без WWW и наоборот

В этой же вкладке сайт необходимо поставить галочку у нужного пункта.

Важно! По умолчанию настройка не делает никаких изменений в этом плане.

Как сделать редирект через файл htaccess

Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:

Redirect 301 site.ru/page1/ site.ru/page2/

Где:

  • page1- страница которая будет переадресовывать;
  • page2 – открывающийся документ.

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.

Также допускается использование конструкции:

Redirect permanent site. poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

https://webmaster.yandex.ru/tools/server-response/

Здесь вводим адрес первой страницы и видим следующее:

Как видим правило применилось и работает корректно.

Руководство для начинающих по созданию редиректов в файле .htaccess

Опубликовано:
9 июня 2021 г.

|

|

на
Абдул Рехман

Изображение

Изображение

с сайта Pixabay

Испытывали ли вы когда-нибудь необходимость изменить конфигурацию вашего веб-сайта, работающего на веб-сервере Apache, не имея root-доступа к файлам конфигурации сервера ( httpd.conf )? Для этого и нужен файл .htaccess .

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

[Вам также может пригодиться: 6 навыков системного администратора, которые нужны веб-разработчикам]

Распространенное использование файла .htaccess

Файл .htaccess имеет несколько вариантов использования. Наиболее распространенные примеры:

  • Перенаправления для определенных URL-адресов
  • Загрузить пользовательские страницы ошибок, например страницы 404
  • Заставьте ваш веб-сайт использовать HTTPS вместо HTTP
  • Разрешить или запретить определенным IP-адресам доступ к вашему веб-сайту
  • Защитите паролем определенные каталоги на вашем сервере

Когда не использовать .htaccess?

Файл . htaccess обычно используется, когда у вас нет доступа к основному файлу конфигурации сервера httpd.conf или конфигурации виртуального хоста, что происходит только в том случае, если вы приобрели виртуальный хостинг. Вы можете достичь всех вышеупомянутых вариантов использования, отредактировав файл(ы) конфигурации основного сервера (например, httpd.conf ) или файлы конфигурации виртуального хоста, поэтому вам не следует использовать .htaccess , когда у вас есть доступ к эти файлы. Любая конфигурация, которую вам нужно поставить в 9Файл 0011 .htaccess можно также эффективно добавить в раздел вашего основного сервера или файлов конфигурации виртуального хоста.

Причины избегать использования файлов .htaccess

Есть две причины избегать использования файлов .htaccess . Давайте рассмотрим их поближе.

Первый : Производительность — когда AllowOverride настроен на разрешение использования файлов . htaccess , httpd будет искать .htaccess файлов в каждом каталоге, начиная с родительского каталога. Это повлияет на производительность, независимо от того, используете вы его или нет. Файл .htaccess загружается каждый раз, когда документ запрашивается из каталога.

Чтобы иметь полное представление о директивах, которые он должен применять, httpd всегда будет искать файлы .htaccess , начиная с родительского каталога, пока не достигнет целевого подкаталога. Если файл запрашивается из каталога /public_html/test_web/content , httpd необходимо искать следующие файлы:

  • /.htaccess
  • /public_html/.htaccess
  • /public_html/test_web/.htaccess
  • /public_html/test_web/content/.htaccess

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

Второй : Безопасность — предоставление пользователям разрешения на внесение изменений в файлы .htaccess дает им полный контроль над конфигурацией сервера этого конкретного веб-сайта или виртуального хоста. Любая директива в файле .htaccess имеет тот же эффект, что и любая директива, размещенная в самом файле конфигурации httpd , и изменения, внесенные в этот файл, вступают в силу мгновенно без необходимости перезапуска сервера. Это может стать рискованным с точки зрения безопасности веб-сервера и веб-сайта.

Включить файл .htaccess

Чтобы включить файл .htaccess , вам необходимо иметь права sudo/root на сервере.

Откройте файл конфигурации httpd вашего веб-сайта:

/etc/httpd/conf/test.conf

Вы должны добавить следующую директиву конфигурации в файл виртуального хоста сервера, чтобы разрешить файл .htaccess в каталоге DocumentRoot . Если следующие строки не добавлены, Файл .htaccess не будет работать:

 
<Каталог /var/www/test.com/public_html>
Индексы опционов FollowSymLinks
Разрешить переопределить все
Требовать все предоставленные
 

В случае виртуального хостинга это уже разрешено поставщиками услуг хостинга. Все, что вам нужно сделать, это создать файл .htaccess в каталоге public_html , к которому поставщик услуг предоставил вам доступ и в который вы будете загружать файлы своего веб-сайта.

URL-адреса перенаправления

Если ваша цель — просто перенаправить один URL-адрес на другой, директива Redirect — лучший вариант, который вы можете использовать. Всякий раз, когда от клиента приходит запрос по старому URL-адресу, он перенаправляет его на новый URL-адрес в новом месте.

Если вы хотите сделать полное перенаправление на другой домен, вы можете установить следующее:

 # Перенаправление на другой домен
Перенаправление 301 "/service" "https://newdomain. com/service" 

Если вы просто хотите перенаправить старый URL-адрес на новый URL-адрес на том же хосте:

 # Перенаправление на URL-адрес в том же домене или хосте
Перенаправление 301 "/old_url.html" "/new_url.html"
Загрузить пользовательскую страницу ошибки 404 

Для лучшего взаимодействия с пользователем загрузите пользовательскую страницу ошибки, когда любая из ссылок на вашем веб-сайте указывает на неправильное место или документ был удален.

Чтобы создать пользовательскую страницу 404, просто создайте веб-страницу, которая будет работать как страница 404, а затем добавьте следующий код в файл .htaccess :

 ErrorDocument 404 /error/pagenotfound.html 

Вы должны изменить /error/pagenotfound.html на местоположение вашей страницы 404.

Принудительное использование HTTPS вместо HTTP для вашего веб-сайта

Если вы хотите принудительно использовать HTTPS на своем веб-сайте, вам необходимо использовать модуль RewriteEngine в файле . htaccess . В первую очередь необходимо включить модуль RewriteEngine в файле .htaccess и затем указать условия, которые вы хотите проверить. Если эти условия выполняются, вы применяете правила к этим условиям. 9(.*)$ https://www.test-website.com/$1 [R=301,L]

Пройдемся по каждой строке.

RewriteEngine on включает модуль RewriteEngine . Это необходимо; в противном случае условия и правила не будут работать.

Первое условие проверяет, введено ли www . [OR, NC] означает без регистра , что означает, даже если введенный URL-адрес содержит сочетание букв верхнего или нижнего регистра.

Затем он проверяет, был ли уже введен протокол HTTPS пользователем. %{https} off означает, что протокол HTTPS не использовался.

Когда RewriteCond удовлетворяется, мы используем RewriteRule для перенаправления URL-адреса на HTTPS. Обратите внимание, что в этом случае все URL-адреса будут перенаправляться на HTTPS при любом запросе.

[ Бесплатное руководство от Red Hat: 5 шагов к автоматизации вашего бизнеса. ] 

Подведение итогов

Владельцы веб-сайтов часто используют файл .htaccess для управления поведением своего веб-сайта. В этой статье мы рассмотрели основы .htaccess и некоторые распространенные варианты использования на большинстве веб-сайтов.

Ознакомьтесь со статьями по теме Включить системного администратора

Изображение

6 навыков системного администратора, которые нужны веб-разработчикам

Разработчики не работают в вакууме. Вот навыки системного администратора, которые могут облегчить жизнь любого веб-разработчика.

Изображение

Настройка веб-сервера для использования HTTPS

Простая статья о настройке веб-сервера HTTPS с сертификатами OpenSSL.

Темы:
линукс
Администрирование Linux
Веб-серверы  

apache — перенаправление определенного URL-адреса на другой URL-адрес с помощью .

htaccess

спросил

Изменено
2 года, 2 месяца назад

Просмотрено
64к раз

Я хочу иметь псевдоним и перенаправить URL 9www\.tz433\.tld/jobs/$
RewriteRule (.*) http://tz433.tld/about-us/jobs.html [R=301,L]

Проблема в том, что в этом корневом пути есть несколько доменов, потому что это мультисайтовая установка typo3. Так что что-то вроде «перенаправить /jobs на /about-us/jobs » не работает, потому что это должно происходить только для определенного домена (tz433).

Следующая конкретная вещь — www.tz433.tld автоматически перенаправляет на tz433.tld . Так что он также должен работать с 9рабочие места /? http://tz433.tld/about-us/jobs.html [R=301,L]

2

Если кто-то просто заинтересован в простом перенаправлении, вы можете попробовать это:

 Redirect /URL URLtoRedirect
 

например

 Перенаправление /old-url https://mywebsite.

This entry was posted in Популярное