$ — символ конца строки.
\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
[0-9] — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.
Для указания дополнительных задач и опций используются флаги. Их перечисляют в квадратных скобках через запятую:
- L — флаг Last, указывающий приостановку формирования URL-адреса, так что после него строка считается окончательной;
- NC — флаг NoCase, за счет которого отключается проверка регистра символов, если правило срабатывает;
- R — флаг Redirect необходим для остановки изменения URL-адреса, он возвращает прежний результат. Обычно используется значение R=301, но встречаются и другие вариации для временных перенаправлений (302, MOVED TEMPORARY).
Реализация 301 редиректа на сайте .htaccess
Зачем вообще использовать 301 редирект?
Например вы решили поменять структуру сайта или перенесли какой-то материал на который шел трафик на другие страницы хотите, что бы вес страниц не пропал, поисковикам нужно указать что страница или полностью сайт переехал на новый адрес. Для этого используется 301 редирект.
Что это за зверь такой «РЕДИРЕКТ» — это способ перенаправления на другой url отличный от первоначально запрошенного. А ответ в заголовке «302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)» говорит что новый адрес является постоянным и старый считается устаревшим , данный редирект передает около 90% ссылочного веса.
И так с помощью файла htaccess мы можем реализовать несколько распространённых вариантов:
Перенаправление (редирект) с одной страницы на другую:
Redirect 301 /oldpages. (.*)$ http://www.exemple.com/$1 [R=301,L]
Для облегчения можно использовать сервисы онлайн генераторы базовых редиректов
http://www.webconfs.com/htaccess-redirect-generator.php
http://www.rapidtables.com/web/tools/redirect-generator.htm
И конечно необходимо проверить что наши редиректы работаю правильно, тут можно воспользоваться ресурсами
http://www.internetmarketingninjas.com/header-checker/
http://bertal.ru
И главное не надо использовать:
- Многошаговый редирект
- Использование редиректов без смены ссылок на новые адреса
- Редирект на страницу которая не возвращает ответ сервера 200
- Использование редиректа для robots.txt
Что такое редирект и как его настроить
Что такое редирект и когда он нужен
Неактуальный сайт или страницу программисты называют донором, а ту, на которую перенаправляют, — акцептором. В нашем случае http://nic.ru/ — сайт-донор, а https://nic.ru/ — сайт-акцептор.
В каких случаях нужен редирект
- Для адаптации. Самый популярный редирект — перенаправление пользователя с десктопной версии сайта на мобильную.
- При ренейминге. В случаях, когда вы изменили название бренда и перешли на сайт с новым доменным именем.
- При переходе на безопасный протокол соединения. Чтобы обезопасить себя и своих клиентов, меняете протокол http на https.
- Для перенаправления с неактуальных страниц/сайтов. Например, товара больше нет в продаже или вы больше не оказываете какую-то услугу и хотите перенаправить пользователя на страницу с похожим товаром или услугой.
- При сайтах или страницах-дублях. Схожий контент на нескольких ресурсах ухудшает ранжирование, а если сайты или страницы идентичны, поисковые системы вовсе исключат эти страницы из поиска. Чтобы не создавать дубли и не рисковать ранжированием, настраивают постоянный или временный редирект.
- При частых запросах с www, если ваш сайт без www. На вас могут сослаться и так, и так, но для поисковых систем это разные сайты, поэтому настраиваете редирект на один из вариантов.
- При переходе на новый движок сайта. У каждой CMS свои правила генерации URL. Если адрес не будет совпадать со старым, без редиректа не обойтись — иначе клиенты не смогут вас найти.
Это не все возможные поводы для редиректа. Они возникают в зависимости от того, какие проблемы нужно решить перенаправлением.
Какие бывают редиректы
Есть четыре основных вида редиректа — 301, 302, 303, 307. Поисковые системы сами определяют его по коду состояния http.
301 — постоянный редирект
Он означает, что ресурс навсегда перемещён на новый адрес. Сайт-донор пропадает из поиска, авторитет и показатели посещаемости передаются сайту-акцептору, который и будет индексироваться.
302 — временный редирект со статусом «Найдено»
Поисковые системы расценивают страницу как временно несуществующую и перенаправляют пользователя на нужную. Все настройки и показатели останутся по старому адресу, индексироваться новый сайт тоже не будет. Такое перенаправление пригодится, например, когда нужно будет обновить сайт.
303 и 307 — аналоги 302 редиректа
303 редирект обозначает «смотрите другой ресурс», его применяют, когда вы не перенесли контент на другой адрес, но у вас есть подходящий под перенаправление другой сайт или страница. Для этого редиректа браузер использует метод GET.
Статус 307 редиректа — временное перенаправление. То есть запрашиваемая страница в данный момент находится по другому адресу. В отличие от 302 изначальная версия ресурса сохранит свои позиции.
Вам не обязательно запоминать, какой редирект что обозначает. Эти цифры при настройке вам не пригодятся. Достаточно понимать, какое решение подойдёт именно в вашей ситуации — временное или постоянное — и написать код, подходящий под нужный редирект.
Как настроить редирект
Настроить редирект можно несколькими способами: изменяя код в файле .htaccess, через админку сайта или в специальных сервисах. Важно: работа с файлом .htaccess возможна при использовании на хостинге веб-сервера Apache.
Для работы в .htaccess нужно установить FTP-клиент (например, filezilla.ru или totalcommander.ru) и уметь работать с кодом, поэтому такой способ сложнее. Обычно его выбирают, когда нужно перенести домен и сделать это бесплатно. Более лёгкий способ — купить доступ к сервису. Тогда знания кода не нужны.
Если нужно сделать перенаправление со страницы, подойдёт более простой вариант переноса — через админку сайта.
В этой статье рассмотрим эти способы на примере самых распространённых причин для редиректа.
Перенос сайта с одного домена на другой
Этот тип перенаправления можно сделать с помощью FTP-клиента. Этот вариант подойдёт тем, кто умеет работать с кодом или готов этому научиться.
Если язык программирования не для вас, перенести домен можно без знаний кода. У RU-CENTER есть специальный сервис «Перенаправление домена».
Перенос с помощью FTP-клиента
Откройте FTP-клиент и найдите файл .htaccess в корневом каталоге вашего сайта. Уточнить путь к корневому каталогу вы можете у вашего хостинг-провайдера. Если в корневом каталоге сайта нет файла .htaccess, создайте новый файл с таким именем (точка в начале имени обязательна).
Как сделать редирект 301 .
htaccess-редирект(перенаправление) на сайте.Редирект 301 — Здесь, на самом деле, все не так сложно, как может показаться.
После знакомства с этим руководством, вы не только будете знать, что такое 301, но и с легкостью сможете применить знания на практике.
Один из случаев применения редиректа 301 является переход на новый домен. Или же перенаправление с одной конкретной страницы сайта на другую. А теперь, к делу.
Все, что вам нужно, это доступ к файлу .htaccess, и возможность редактировать и загружать этот файл на сервер (возможно, загружать его и не придется, так как многие сервера поддерживают cPanel, которая позволяет редактировать файл .htaccess непосредственно на сервере).
Зачем делать редирект 301?
301 используется для создания перенаправления с одной страницы на другую в пределах одного того самого домена, или же на совершенно другой домен. 301 используют в следующих случаях:1. Изменение имени файлов и/или их расширений: редирект 301 может быть использован, когда вы хотите изменить файловую структуру вашего сайта или изменить расширения файлов (например, переход от html к php). Это очень важный момент, потому что, если 301 редирект настроен правильно, то пользователи, набрав в great-world.ru/oldfile.html, будут перенаправлены на great-world.ru/newfile.php или ту страницу, которую вы укажете в .htaccess.
2. Переезд на новый домен: редирект 301 – это ключевой момент при изменении доменного имени. Когда пользователи будут переходить на страницы на вашем старом домене, их автоматически будет перенаправлять на новые страницы на новом доменном имени. Таким образом, если кто-то введет или нажмет на ссылку great-world.ru/page1.html, он будет автоматически перенаправлен на newdomain.com/page1.html.
3.SEO: редиректы 301 широко используются в SEO, потому что они сообщают поисковым роботам, что страница перенаправляется навсегда. Также, с помощью 301 редиректа можно без потерь перенести позиции старых страниц на новые. Даже наглядную картинку для Вас подглотовил:
4.Партнерские ссылки: редиректы также обычно используются для скрытия партнерских ссылок, что может увеличить активность пользователей , и позволит не использовать прямые исходящие ссылки на партнерские программы. Вы создаете страницу с соответствующим названием файла, и применяете к ней перенаправление 301 на партнерский сайт. Например, вместо размещения прямой ссылки на partnerkaprimer.com/affiliate-offer.html, вы создадите страницу на своем сайте с именем файла “merchantxyz.html”, и при переходе пользователей на эту страницу vashdomen.ru/click/merchantxyz.html, они автоматически будут перенаправляться на partnerkaprimer.com/affiliate-offer.html. Как правило, вам ещё нужно добавить атрибут rel=”nofollow” к ссылке на вашу страницу merchantxyz.html, чтобы партнерская ссылка не индексировалась.
5. PHP: редирект может быть использован вместо PHP-перенаправления, но если на вашем сайте много ссылок на партнерские ресурсы, то надежнее создать простой скрипт, который будет перенаправлять пользователей.
Как сделать и настроить 301 редирект
Пришло время взглянуть, что на практике являет собой 301 редирект.Пример 1. Вы изменили имя одного из файлов на сайте.
Старое имя файла /oldpage.html, новое — /newpage.html. В файле .htaccess вам нужно прописать такой код:
redirect 301 /oldpage.html http://www.vashdomen.ru/newpage.html
Пример 2. Вы заменили .html страницу на .php, но имя оставили то же.
Старое имя файла /yourpage.html, новое — /yourpage.php. Код практически идентичный предыдущему, только меняем расширение:
redirect 301 /yourpage.html http://www.vashdomen.ru/you-page.php
Пример 3. Вы разместить скрытую ссылку на сайт партнерской программы.
Допустим партнерская ссылка такая — partnerkaprimer.com.com&affid=64564242. Честно говоря, такая ссылка вряд ли внушает спокойствие и доверие пользователей. vashdomen.ru
RewriteRule (.*) http://www.vashdomen.ru/$1 [R=301,L]
Как видите, не все так сложно. Теперь вы знаете, что такое редирект 301 , и как его использовать на своем сайте, если вдруг захотите сменить доменное имя.
Ошибка, редирект 301 — что такое?
Случается такое, что веб-страница или весь сайт целиком переезжает на новый URL-адрес навсегда. 301 редирект — это перенаправление на другой адрес сайта.
Редирект 301 указывает на постоянное перемещение веб-страницы из одного места в другое.
Часть 301 относится к коду состояния HTTP перенаправленной страницы.
Пример: blog.site.com перенаправляет на site.com/blog
Проще говоря, 301 редирект сообщает браузеру: «Эта страница перемещена навсегда. Это новое место, и мы не собираемся возвращать его ». На что браузер отвечает: «Конечно! Я отправлю пользователя туда прямо сейчас! »
Вот почему, если вы попытаетесь посетить blog.site.com , этого не произойдет.
Вместо этого вы попадете на страницу site.com/blog
Когда прописывать 301 редирект?
301 редирект обычно прописывается в следующих случаях:
- при склеивании зеркал сайта с www и без www;
- при переезде сайта на новый домен;
- при изменении URL-адресов страниц;
- редиректы также обычно используются для скрытия партнерских ссылок;
- для сохранения трафика;
- когда нужно объединить два сайта.
Как сделать 301 редирект
Есть много способов выполнить 301 редирект, но наиболее распространенный метод — отредактировать файл .htaccess вашего сайта.
Вы найдете это в корневой папке вашего сайта:
Не видите файл? Это означает одно из двух :
- У вас нет файла . htaccess. Создайте его с помощью Блокнота (Windows) или TextEdit (Mac). Просто создайте новый документ и сохраните его как .htaccess. Обязательно удалите стандартное расширение файла .txt.
- Ваш сайт работает не на веб-сервере Apache. Это несколько технически, но существуют разные типы веб-серверов. Наиболее распространены Apache, Windows / IIS и Nginx. Только серверы Apache используют .htaccess. Чтобы убедиться, что ваш сайт работает на Apache, спросите у своего веб-хостинга.
Перенаправить старую страницу на новую
Redirect 301 /old-page.html /new-page.html
Используете WordPress? Избавьтесь от необходимости редактировать файл .htaccess с помощью бесплатного плагина Redirection .
Это упрощает добавление 301 редиректа:
Перенаправить старый домен на новый домен
ПРИМЕЧАНИЕ.Есть несколько способов сделать это. Я ни в коем случае не эксперт, когда дело касается серверов Apache и файлов htaccess. Это код, который всегда работал у меня. Обязательно проверьте это, прежде чем внедрять на свой сайт.
ВАЖНО ! Если RewriteEngine on он уже находится в вашем файле .htaccess, не повторяйте его. Просто скопируйте остальной код. Это также можно сделать в Cpanel, что может быть предпочтительнее.
Перенаправить весь домен с префикса www на www (и наоборот)
Вот версия без www на www:
Вот версия с www на версию без www:
ВАЖНО ! Расположение и порядок кода в вашем файле htaccess тоже имеет значение. Вы можете столкнуться с нежелательными эффектами, если несколько инструкций будут размещены в «неправильном» порядке (например, цепочки перенаправления и т. д.). Если вы планируете реализовать множество 301 редиректа в своем файле htaccess, это стоит изучить. site.ru$ [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
301 редирект очень часто выручает при борьбе с дублями страниц.
Проверка редиректа
301 редирект проверяется легко. Все, что вам нужно, это ввести в строке браузера старый адрес страницы. Если произойдет перенаправление, все нормально. В некоторых случаях перед тем как проверить 301 редирект, приходится чистить кэш браузера. Поэтому если перенаправление не происходит, возможно, вы забыли это сделать.
Рекомендуем также проверить ответ сервера на 2ip.ru.
Наиболее безопасным видом редиректа является 301 редирект. Поисковики относятся к нему более лояльно. Поэтому из наиболее распространенных способов переадресации самыми безопасными являются редирект через htaccess и php редирект.
Старайтесь избегать сразу нескольких последовательных редиректов. Это негативно скажется на положении сайта в поисковиках, и все ваши усилия, как оптимизатора, будут бесполезны.
Редиректы страниц в WordPress: как сделать, какие плагины для их настройки существуют
Редиректы страниц в WordPress – далеко не самая простая тема для обсуждений, особенно если вы сталкиваетесь с ней впервые. Многие люди осведомлены о существовании редиректов (перенаправлений) страниц в WordPress, но далеко не всегда они уверены в том, когда их нужно использовать и как это правильно сделать.
В данном посте вы узнаете все, что вам нужно знать о редиректах страниц в WordPress.
Почему вам могут понадобиться редиректы?
Редиректы страниц могут потребоваться по нескольким причинам:
- Ошибка в URL и тайтле, которую вы хотите исправить.
- Привязка иных ключевых запросов к вашей странице.
- Смена структуры постоянных ссылок.
- Внешняя ссылка указывала на неверный адрес, и вы хотите, чтобы посетители переходили к корректной странице.
- Вы хотите изменить часть вашего URL, к примеру, удалить www и/или переключиться на HTTPS.
- Вы перешли на другой домен и хотите, чтобы трафик и SEO-показатели вашего прежнего сайта перетекли к новому сайту.
Почему редиректы важны?
Из приведенного выше списка, вероятно, уже становится ясно, почему перенаправления страниц являются хорошей идеей. Если ваш сайт переезжает, вы вряд ли хотите все начинать с нуля, потеряв весь свой трафик и ссылки.
Даже если одна страница будет потеряна, это приведет к появлению ошибки 404. Опыт не самый приятный, как вы понимаете. Все это сильно раздражает посетителей.
Поисковые системы не любят подобные ошибки, а потому они могут наказать вас за это. Вам должно быть важно, чтобы они грамотно распознали структуру вашего сайта и правильно его проиндексировали. При необходимости можно оставлять следующий текст на таких страницах: «Эта страница больше не существует. Чтобы получить к ней доступ, перейдите по следующей ссылке».
Разные коды перенаправлений и что они значат
Редиректы делятся на несколько типов. Они классифицируются по кодам HTTP, как и в случае с вышеупомянутым кодом ошибки 404 для несуществующей страницы. Однако редиректы относятся к категории 300:
- 301 – самый распространенный тип редиректов. Он говорит о том, что страница была перемещена навсегда, и теперь ее новую версию можно найти в другом месте. Такая переадресация страниц позволяет передать примерно 90-99% SEO-мощи (от старой страницы к новой).
- 302 – страница временно перемещена. Исходный URL в настоящий момент недоступен, однако он вернется обратно, а пока вы можете использовать страницу по новой ссылке. Ссылочная мощь при этом не передается.
- 303 – используется только для отправки форм, чтобы запретить пользователям повторную передачу данных, когда используется кнопка возврата в браузере. Вряд ли это вам понадобится, если вы не разработчик.
- 307 – то же самое, что и 302, но только для HTML1. Означает, что контент был временно перемещен на новый адрес.
- 308 – постоянная версия 307-редиректа.
Редиректы и скорость страниц
Редиректы страниц – отличный инструмент для веб-мастеров и маркетологов, однако их недостатком является то, что они могут сильно влиять на скорость страниц.
Редиректы – дополнительный шаг в загрузке страниц. Пусть они и добавляют незначительные миллисекунды, все это очень важно, ведь посетители хотят, чтобы страница загружалась максимально быстро.
Также перенаправления страниц в большом количестве могут мешать поисковым роботам индексировать ваш сайт. Поэтому вот вам несколько важных правил по их грамотному использованию:
- Избегайте цепочек редиректов. Перенаправления от http к https и от www к «не-www» URL могут создавать цепочку из редиректов. Не нужно устраивать пинг-понг. Все редиректы должны переводить к одному и тому же домену напрямую (https://domain.ru).
- Не перенаправляйте ссылки, которые у вас под контролем. Лучше вручную измените их, не надо лениться. Сюда относятся, к примеру, ссылки в меню.
- Попробуйте скорректировать внешние ссылки. Если ссылка является входящей, вы можете попытаться связаться с владельцем сайта и попросить его исправить ссылку на своей стороне.
Перенаправления страниц нужно сводить к минимуму. Чтобы найти множественные редиректы, вы можете воспользоваться инструментом Redirect Mapper.
Как найти страницы для редиректа и подготовить правильные URL
Как найти страницы для перенаправления после переезда сайта? Можно начать с Google Search Console. В разделе Coverage фиксируются все ошибки 404 и ошибки сканирования.
Обратите внимание, что Search Console выводит далеко не все 404 ошибки. Для отслеживания несуществующих страниц лучше всего использовать краулер по типу Screaming Frog. Также вам помогут некоторые плагины, приведенные ниже.
Теперь вы можете подготовить редиректы:
- Задайте правильные URL-адреса. Обязательно придерживайтесь одного формата. Всегда перенаправляйте на ту же самую версию сайта, т.е. на предпочтительный домен (www/без-www, http/https и т.д.).
- Задайте слаг вместо URL – это означает установку /your-page-slug вместо http://yoursite.com/your-page-slug. В таком случае ваш редирект будет устойчив к любым изменениям в главном домене (переезде на https и т.д.).
- Перенаправляйте на релевантные страницы. Желательно найти страницу с похожей тематикой. Просто так перенаправлять на главную не рекомендуется.
Как грамотно поставить редиректы в WordPress
Есть несколько способов реализации перенаправления в WordPress. Вы можете сделать это через плагин или вручную через .htaccess. И тот, и другой способ имеет свои плюсы и минусы:
- Плагины – простой в использовании подход, однако потенциально более медленный, поскольку многие плагины опираются на wp_redirect, что может вести к проблемам с производительностью.
- .htaccess – более продвинутый подход. К примеру, вы можете включить в .htaccess директивы для gzip-сжатия. Использование .htaccess происходит быстрее, поскольку редиректы настраиваются на уровне сервера. Однако любая ошибка может привести к тому, что ваш сайт перестанет работать.
Давайте рассмотрим каждый из этих способов подробнее.
- Использование плагинов.
Есть много разных плагинов, которые позволяют задать редиректы в WordPress.
- Redirection – одно из самых популярных решений в каталоге WordPress. С его помощью можно задавать редиректы через htaccess, Nginx и ядро WP.
- Simple 301 Redirects – простой в использовании плагин с несколькими опциями.
- Safe Redirect Manager – с помощью данного плагина вы можете установить код, который будет использоваться для перенаправлений. Для дополнительной безопасности плагин ограничивает редиректы только к хостам из белого списка.
- Easy Redirect Manager – подходит для задания 301 и 302 редиректов. Плагин имеет много разных опций. www.mydomain.com$
RewriteRule (.*) http://mydomain.com/$1 [R=301,L]
Чтобы создать директивы для перенаправлений, вы можете воспользоваться следующим полезным инструментом.
Когда вы закончите, просто сохраните файл. Обязательно все тщательно протестируйте!
Обратите внимание, что существуют и другие, менее распространенные способы реализации редиректов. Однако те, что описаны в статье, являются рекомендуемыми.
Источник: torquemag.io
Редирект, переадресация или перенаправление
Одна из наиболее частых причин использования файла .htaccess, является потребность в перенаправлении посетителей сайта с одного адреса на другой, обычно это называют 301 редирект. Например был изменен адрес страницы или название каталога, изменилось имя домена и т.д. Эти вопросы легко решаются с помощью .htaccess. Но при этом стоит понимать, что иногда правила переадресации и формирования URL адресов формирует сама CMS (система управления сайтом) и в таком случае не всегда есть возможность решить определенные задачи при помощи .htaccess.Для редиректа можно использовать директивы Redirect, RedirectMatch и возможности модуля mod_rewrite.
Redirect — это самая простая директива для создания редиректа, если вам просто нужно перенаправить посетителей с одного адреса на другой, этот метод вполне подходит.
RedirectMatch — является более продвинутой директивой для перенаправлений, чем Redirect. В ней можно использовать регулярные выражения и обратные связи.
mod_rewrite — самое мощное средство не только для редиректа, но и для других видов преобразования. Для построения правил с помощью mod_rewrite используются директивы RewriteCond и RewriteRule.Рассмотрим типичные виды перенаправлений и их решение при помощи указанных выше директив
C одной страницы сайта на другую
Часто бывает так, что был изменен адрес целевой страницы и очень не хочется, что бы посетителям при обращении к старому адресу отдавалась 404 ошибка. (.*)$ https://%{HTTP_HOST}/$1 [R=301,L]RewriteCond %{HTTP:SSL} !1
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]простых перенаправлений с .htaccess — WP Scholar
Каждый раз, когда вы переносите веб-сайт или даже просто перемещаете одну страницу на новый URL-адрес, перенаправления гарантируют, что ваши пользователи не потеряются в случайном порядке. Поисковые системы также используют переадресацию, чтобы помочь в правильной индексации содержания вашего сайта.
Важно понимать разницу между двумя наиболее распространенными типами переадресации:
- Постоянное перенаправление — Постоянное перенаправление или 301 редирект следует использовать каждый раз, когда вы навсегда перемещаете страницу, каталог или веб-сайт.
- Временное перенаправление — Временное перенаправление или перенаправление 302 следует использовать, если вы хотите временно указать пользователю другое место.
Если вы используете сервер Apache, вы можете создать файл с именем
.htaccess
в любом каталоге, чтобы иметь возможность локально переопределить определенные конфигурации сервера. Очень часто файл.htaccess
находится в корневом каталоге веб-сайта. Вы можете использовать очень простой синтаксис в.htaccess
для настройки перенаправления на страницу, каталог и сайт. Хотя вы можете значительно продвинуться в перенаправлении URL-адресов, мы собираемся начать с простейших вариантов использования.Существует три распространенных варианта использования перенаправления:
- Перенаправить одну страницу на новую
- Перенаправить весь каталог в новый каталог
- Перенаправить весь сайт на новый сайт
Синтаксис перенаправления
Это основной синтаксис для перенаправлений, написанных с использованием директивы перенаправления mod_alias в Apache:
Перенаправление [статус] URL-путь URL
- Убедитесь, что вы используете заглавные буквы
R
вRedirect
, иначе это не сработает. Все чувствительно к регистру. - Статус не является обязательным и обычно представляет собой число, указывающее код статуса HTTP, который вы хотите передать браузеру. Вы можете использовать слово
постоянный
вместо301
илиtemp
вместо302
. Если не указан, по умолчанию будет использоваться302
. - URL-путь является обязательным и всегда является путем относительно корня сайта, а не местоположения файла
.htaccess
. - URL-адрес является обязательным и представляет собой либо путь относительно корня сайта, если перенаправление происходит внутри того же сайта, либо абсолютный URL-адрес, если перенаправление указывает на другой сайт.
Перенаправить отдельную страницу
Начнем с простого перенаправления, при котором вы хотите перенаправить одну страницу на другую:
Redirect 301 "/old-page.html" "/new-page.html"
Как видите, мы выполняем 301 (постоянное) перенаправление со страницы текущего сайта на другую страницу того же сайта.
Если новая страница находится в другом домене или даже поддомене, то вот как вы должны написать перенаправление:
Redirect 301 "/old-page.html" "http://www.new.com/new-page.html"
Совершенно приемлемо использовать этот метод, даже если страница находится на том же сайте. Никогда не помешает быть более явным и использовать абсолютный URL.
Подумайте, как разыгрывается последний пример с несколькими различными вариантами URL:
# Целевой URL Целевой URL 1 http: // old.ru / old-page.html
http://www.new.com/new-page.html
2 http://old.com/old-page.html?q=21&id=902
http://www.new.com/new-page.html?q=21&id=902
3 http://new. com/old-page.html
http://www.new.com/new-page.html
4 http://www.new.com/old-page.html
http: // www.new.com/new-page.html
Пояснение:
- Redirect # 1 — переводит страницу в старом домене на новую страницу в новом домене.
- Redirect # 2 — Выполняет то же самое, что и первое перенаправление, но демонстрирует, что любые параметры URL GET передаются как часть перенаправления.
- Redirect # 3 — Пример перенаправления с текущего домена на поддомен.
- Redirect # 4 — Демонстрирует перенаправление, которое происходит в том же (под) домене.
Перенаправить весь каталог
Вот пример перенаправления из одного каталога в другой:
Redirect 301 "/ old-directory" "http://www.new.com/new-directory"
Опять же, давайте внимательно посмотрим, как может развиваться этот пример:
# Целевой URL Целевой URL 1 http://old.com/old-directory/
http: // www.new.com/new-directory/
2 http://old.com/old-directory/page.html
http://www.new.com/new-directory/page.html
3 http://old.com/old-directory/sub-directory/
http://www.new.com/new-directory/sub-directory/
4 http://old.com/old-directory/sub-directory/page.html
http: // www.new.com/new-directory/sub-directory/page.html
5 http://old.com/old-directory/?q=21&id=902
http://www.new.com/new-directory/?q=21&id=902
Пояснение:
- Redirect # 1 — переносит каталог в старом домене в новый каталог в новом домене.
- Redirect # 2 — показывает, что любые отдельные страницы в старом каталоге автоматически перенаправляются в то же место в новом каталоге.
- Redirect # 3 — показывает, что любые подкаталоги в старом каталоге автоматически перенаправляются в то же место в новом каталоге.
- Redirect # 4 — иллюстрирует рекурсивный характер перенаправления.
- Redirect # 5 — Выполняет то же самое, что и первое перенаправление, но демонстрирует, что параметры URL GET всегда передаются как часть перенаправления.
При таком типе перенаправления предполагается, что содержимое каталога в целевом URL-адресе точно такое же, как и ранее в целевом URL-адресе .Другими словами, изменилось только имя каталога.
Можно комбинировать перенаправление каталога и несколько перенаправлений на одну страницу, например:
Redirect 301 "/old-directory/about.html" "/new-directory/about-us.html" Перенаправить 301 "/old-directory/contact.html" "/new-directory/contact-us.html" Перенаправить 301 "/ старый-каталог" "/ новый-каталог"
Этот пример показывает, что порядок важен. При срабатывании правила перенаправления это происходит немедленно. Остальная часть файла не обрабатывается для правил перенаправления.Если наши одностраничные перенаправления — это , а не , то произойдет общее перенаправление каталога. Это правильный способ обработки перенаправления, когда содержимое каталога в целевом URL-адресе точно такое же, как и ранее в целевом URL-адресе, , за исключением для страниц
about.html
иcontact.html
.Перенаправить весь веб-сайт
Вот пример перенаправления всего сайта:
Перенаправить 301 "/" "http: // www.new.com "
Как видите, это перенаправление предполагает, что все на новом сайте находится в том же месте, что и на старом сайте:
# Целевой URL Целевой URL 1 http://old. com/
http://www.new.com/
2 http://old.com/?q=21&id=902
http://www.new.com /? q = 21 & id = 902
3 http://old.com/page.html
http://www.new.com/page.html
4 http://old.com/directory/
http://www.new.com/directory/
5 http://old.com/directory/page.html
http://www.new.com/directory/page.html
6 http: // old.com / каталог / поддиректория /
http://www.new.com/directory/sub-directory/
Пояснение:
- Redirect # 1 — Старый корневой домен перенаправляется на новый корневой домен.
- Redirect # 2 — Параметры GET URL всегда передаются.
- Redirect # 3 — отдельные страницы перенаправляются в то же место в новом домене.
- Redirect # 4 — каталоги перенаправляются в то же место в новом домене.
- Redirect # 5 — Дочерние страницы перенаправляются в то же место в новом домене.
- Redirect # 6 — подкаталоги перенаправляются в то же место в новом домене.
Сообщите мне, если вы нашли эти примеры полезными!
Статьи по темеКак я могу перенаправить и переписать свои URL-адреса с помощью файла .htaccess? — База знаний DreamHost
Создание файла .htaccess на веб-сервере DreamHost
Инструкции по созданию файла.htaccess на вашем веб-сервере:
Если файл уже существует, просмотрите следующие статьи, чтобы узнать, как его обновить (в зависимости от того, используете ли вы FTP-клиент или SSH):
Что изменить в примерах ниже?
Примеры, приведенные ниже, можно ввести в файл . htaccess точно так, как показано. Просто не забудьте указать фактический путь к файлу, чтобы файл .htaccess знал, где он находится. Кроме того, если вы видите домен example.com , измените его на свое собственное доменное имя.
Перенаправление всех URL-адресов
Следующая строка перенаправляет все URL-адреса вашего сайта на новый сайт.
Перенаправление 301 / https://example.com/
Перенаправление одного URL-адреса
Использование перенаправления в файле .htaccess позволяет перенаправлять пользователей со старой страницы на новую страницу без необходимости сохранять старую страницу. Например, если вы используете index.html в качестве индексного файла, а затем переименуете index.html в home.html, вы можете настроить перенаправление для отправки пользователей из index.html в home.html. Например:
Перенаправление на файл локального сайта
Перенаправить /path/to/old/file/old.html /path/to/new/file/new.html
Перенаправление на файл внешнего сайта
Перенаправление /path/to/old/file/old.html https://www.example.com/new/file/new.html
Первый путь
Первый путь к старому файлу должен быть локальным путем UNIX, а НЕ полным путем. Итак, если файл .htaccess находится в каталоге /example.com, вы должны включить , а не , / home / username / example./ blog / about /blog/about.html
Перенаправление из файла index.html в другой каталог
Перенаправить /index.html / new /
Перенаправление с index.html на default.html
Перенаправить /index.html /default.html
Перенаправить локальный / частный каталог в частный каталог другого сайта
Редирект / частный / https://www.example.com/private/
Загрузить файл .gif с другого сайта
Убедитесь, что другой сайт принадлежит вам./oldfile\.html/?$ «» https://example. блог / архивы / (.*) $ / newarchives / $ 1 [R = 301, NC, L]
Перенаправить несуществующие страницы на index.php
Если посетитель пытается получить доступ к несуществующей странице, ему выдается ошибка 404. Вместо этого вы можете перенаправить любой запрос на несуществующую страницу в свой файл index.php (или любой индексный файл), добавив следующий код в свой .htaccess:
Параметры + SymLinksIfOwnerMatch RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule.place / ([a-zA-Z -] *). html /place/abc.php?id=$1 [QSA, L]
- [QSA, L]
- добавляет его к строке запроса внутреннего сценария и делает его выполненным правилом последней перезаписи.
После использования этого метода вы можете получить веб-страницу с любым типом адреса. Это удобно для модернизации веб-сайта, который не был разработан с учетом mod_rewrite. Это хорошо, потому что не уничтожает никакие закладки, сохраненные на компьютерах пользователей.
Просмотрите следующую ссылку для получения дополнительной информации и примеров о мод-перезаписи:
Перезапись несуществующих ссылок в index.index \ .php $ - [L] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L]
Перенаправить HTTP на HTTPS для вашего сайта
Инструкции о том, как заставить ваш сайт загружать HTTPS, см. В следующей статье:
См. Также
Как перенаправить мой сайт с помощью файла .htaccess?
Последнее изменение: 6 марта 2020 г.
Обзор
В этом документе объясняется, как создать .htaccess для перенаправления вашего сайта или содержимого сайта. Это не приведет к переадресации писем для ваших доменов.
ПРОЧИТАЙТЕ Вначале
Как файл конфигурации,
.htaccess
очень мощный. Даже малейшая синтаксическая ошибка (например, отсутствие пробела) может привести к тому, что ваш контент будет отображаться некорректно или вообще.Поскольку
.htaccess
является скрытым системным файлом, убедитесь, что ваш FTP-клиент настроен на отображение скрытых файлов. Обычно это опция в настройках / опциях программы.Эта статья предоставлена любезно. Установка, настройка и устранение неполадок сторонних приложений выходит за рамки поддержки, предоставляемой (mt) Media Temple. Найдите минутку, чтобы просмотреть Заявление о поддержке.
Инструкции
1. Создайте пустой текстовый файл с помощью текстового редактора, например блокнота, и сохраните его как htaccess.txt.
ПРИМЕЧАНИЕ:
Причина, по которой вы должны сохранить файл как htaccess.txt, заключается в том, что многие операционные системы и приложения FTP не могут читать или просматривать
.htaccess
по умолчанию. После загрузки на сервер вы можете переименовать файл в.htaccess
.2. Отредактируйте содержимое файла htaccess.txt. Ниже приведены несколько примеров переадресации, которые вы можете использовать. Они помечены в соответствии с тем, какие действия они будут выполнять.
301 (Постоянный) Перенаправление:
Используйте 301 редирект .htaccess, чтобы постоянно указывать весь сайт на другой URL. Это наиболее распространенный тип перенаправления, который полезен в большинстве ситуаций.В этом примере мы перенаправляемся на домен example.com.
При добавлении следующего кода в файл .htaccess вашего веб-сайта обязательно замените example.com своим собственным доменным именем.
# Это позволяет перенаправить весь ваш сайт на любой другой домен Перенаправить 301 / http://example.com/
302 (временное) перенаправление:
Укажите для всего сайта другой временный URL. Это полезно для целей SEO, если у вас есть временная целевая страница и вы планируете вернуться к основной целевой странице позже:
# Это позволяет перенаправить весь ваш сайт на любой другой домен Перенаправить 302 / http: // example. /? $ / folder2 /
Перенаправление на определенную страницу индекса:
# Обеспечить определенную страницу индекса (установить обработчик по умолчанию) DirectoryIndex index.html
Перенаправить сообщение об ошибке:
Вместо того, чтобы выводить страницу с ошибкой 404 Not Found, сайт перенаправляет на домашнюю страницу:
# Перенаправить страницы ошибок 404 на домашнюю страницу
ErrorDocument 404 http://example.com/Перенаправить несуществующую страницу в индекс.php
# Перенаправить несуществующие страницы в index.php
Options + SymLinksIfOwnerMatch RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L]3. Загрузите этот файл и переименуйте его в
.htaccess
.ПРИМЕЧАНИЕ:
- При использовании текстового редактора обязательно сохраните файл как обычный текст.
- Пути к месту сохранения этого файла можно найти в этой статье: Системные пути.
- Полное руководство по директивам Apache, которые можно использовать в файлах .htaccess, можно найти здесь: http://httpd.apache.org/docs/mod/core.html.
Более мощные изменения URL с помощью mod_rewrite
Если вам нужно внести сложные изменения в способ отображения URL-адреса, посетите раздел Использование правил перезаписи .htaccess. Вы можете сделать что-то вроде добавления «www» в начало вашего URL-адреса, перенаправить все запросы во вложенную папку, но сохранить остальную часть URL-адреса и т. Д.
См. Также
Как перенаправить посетителя на другую страницу? — Поддержка
Можно использовать.htaccess для автоматического перенаправления посетителя в другое место, например, когда у вас есть новый веб-сайт или если ваш сайт все еще находится в стадии разработки.
В этом руководстве вы можете найти описание некоторых из наиболее часто используемых функций и способы их реализации в своем веб-пространстве на One.com.
- Перенаправление 301
- Перенаправить на www.yourdomain.com
- Перенаправить на yourdomain.com
- Перепишите все на HTTPS
Совет: Если вы хотите перенаправить весь свой сайт на другой домен или IP-адрес, мы рекомендуем вместо этого использовать DNS.Ознакомьтесь с нашим руководством по управлению настройками DNS.
Перенаправление 301
Вы можете постоянно перенаправлять посетителей в другое место, это называется Redirect 301 .
Число 301 обозначает код состояния http. Добавление числа 301 сообщает поисковым системам, что по адресу постоянно перемещено в другое место, следовательно, рейтинг вашей страницы также будет перемещен.
Перенаправить 301 /oldpage.html https: //www.one-example.ru / newpage.html
Замените /oldpage.html текущим именем страницы и https://www.one-example.com/newpage.html новым местоположением. Убедитесь, что весь текст находится в одной строке.
Примечание: В некоторых случаях вам может потребоваться перенаправить посетителей только временно , например, на страницу , находящуюся в стадии разработки, . В этом случае лучше использовать другой код, используйте номер 307 вместо 301.
Перенаправить на www.(. *) https: //% 1 / $ 1 [QSA, L, R = 301]
Перепишите все на HTTPS
Если у вас есть активированных SSL на вашем веб-пространстве, вы можете переписать весь трафик на https: // . (.*) $ https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Статьи по теме:
- Что такое .htaccess?
- Как я могу защитить свой сайт паролем?
Как настроить постоянное перенаправление 301 в .htaccess
Постоянное перенаправление 301 информирует поисковые системы и другие онлайн-службы о том, что старая ссылка была заменена новой. Это рекомендуемый метод для направления трафика с существующей страницы. Этот тип перенаправления можно настроить напрямую через.htaccess или через интерфейс cPanel, если он доступен.
Темы включают
Настройте переадресацию 301 для ваших сайтов, размещенных на плане выделенного хостинга!
Распространенное использование перенаправления 301
Некоторые распространенные применения перенаправления 301 в . htaccess :
- Перенаправить отдельные файлы в один домен.
Старый файл перемещен, или информация теперь содержится в новом файле.
- Перенаправить старый домен на новый.
Вы переместили веб-сайт со старого домена на новый и хотите, чтобы все старые ссылки переходили на новый сайт.
- Force www. версия домена или принудительное отключение www. версия домена .
Посетители могут получить доступ к вашему веб-сайту и ссылки на него через example.com или www.example.com . С перенаправлением вы можете установить одно из них в качестве предпочтительного доменного имени, отображаемого на вашем сайте.
- Перенаправить все файлы с определенным расширением.
Раньше все ваши файлы использовали расширение, например .php , и преобразовали все в .htm , поэтому с помощью перенаправления 301 вы можете обновить все ссылки для использования нового расширения.
301 Перенаправление через файл .htaccess
На сервере Linux вы должны использовать файл .htaccess для реализации перенаправления 301 для ваших страниц.
- Войдите в свою cPanel.
- В разделе Files щелкните File Manager .
- Убедитесь, что Показать скрытые файлы выбран, щелкнув значок шестеренки в правом верхнем углу диспетчера файлов.
- Выберите опцию Document Root для: и выберите свой домен из раскрывающегося списка.
- Щелкните правой кнопкой мыши файл .htaccess и выберите Edit .
- Если ваш файл .htaccess все еще не найден после предыдущих шагов, щелкните New File в верхнем левом углу, назовите файл .htaccess и установите для создаваемого файла каталог / public_html / или корень документа вашего сайта.
- У вас может появиться всплывающее диалоговое окно кодирования текстового редактора, вы можете просто щелкнуть Редактировать , чтобы продолжить.
Перенаправить файлы
Чтобы перенаправить отдельные файлы, например example.com/oldfile.htm на newfile.htm , вы можете использовать 301 редирект, например:
Redirect 301 /oldfile.htm /newfile.htm
Для перенаправления одного конкретного файла в другой домен, например, .com / oldfile.htm – example.net/newfile.htm :
Redirect 301 /oldfile.htm https://example.net/newfile.htm
Redirect domain
Если у вас был старый домен, например example.com и вы решили использовать example.net для веб-сайта, вы можете настроить перенаправление 301 для всего домена, чтобы старые ссылки на example.com переносились.
Пример кода из файла example. .(. *) $ https: // пример. нетто / $ 1 [L, R = 301, NC]
Force www. в домене
Поисковая система, такая как Google, интерпретирует example.com и www.example.com как два отдельных веб-сайта. Рекомендуется, чтобы пользователи выбрали одну версию, которую они хотели бы отображать в поисковых системах. Используя 301 редирект, пользователи могут указать, какое доменное имя будет отображаться на их сайте.
Если у вас есть несколько ссылок в сети, по которым люди переходят на ваш сайт, как, например, .(. *). php $ /$1.htm [R = 301, L]
Теперь вы должны знать, как правильно настроить 301 постоянную переадресацию на своем веб-сайте, чтобы гарантировать, что поисковые системы и посетители, переходящие на ваш сайт по старым ссылкам, могут по-прежнему добираться до вашего нового содержания.
Перенаправление в cPanel
Для пользователей, которые размещают свои сайты на хостах на основе cPanel, можно настроить перенаправление через интерфейс cPanel. Этот инструмент автоматически добавляет необходимый код в файл .htaccess для правильной работы перенаправления.
- Войдите в cPanel.
- Нажмите кнопку Redirects в разделе Domains .
- После этого вы попадете на страницу Добавить перенаправление . Щелкните раскрывающийся список для Тип и выберите перенаправление Постоянное (301) или Временное (302) .
- Щелкните следующий раскрывающийся список и выберите домен для перенаправления.
- В поле косой черты ‘/’ введите любые имена папок (при необходимости).
- Введите адрес, на который вы хотите перенаправить, в разделе Redirects to .
- Выберите, хотите ли вы « перенаправлять только с www. »« Перенаправление с www или без него. »или« Не перенаправлять www. “
- Установите этот флажок, если хотите создать перенаправление с подстановочными знаками . Это добавит имя файла / папки после URL-адреса при перенаправлении. Например, example.com/test.php перенаправит на example2.com/test.php.
- Щелкните Добавьте , когда закончите.
Вы закончите, когда увидите зеленое сообщение с подробностями вашего перенаправления.
Поздравляем, теперь вы знаете, как создать редирект в своей cPanel! Вы знали? Если у вас есть сайт WordPress, вы также можете создать 301 редирект прямо в панели управления.
Алисса Кордек Технический писательАлисса начала работать в InMotion Hosting в 2015 году в качестве члена группы технической поддержки. Прежде чем стать техническим писателем, Алисса разработала набор навыков, который включает перенос данных и системное администрирование. Сейчас она работает над созданием качественного технического контента, такого как практические руководства, которые помогают пользователям максимально использовать возможности хостинга.
Еще статьи от AlyssaНавигация по сообщениям
как мне 301 перенаправить URL-адреса на Apache?
Среди прочего, файл .htaccess
на дескрипторах Apache (301 редирект). В нем вы можете реализовать перенаправления для целых сайтов, целых разделов или всего нескольких URL-адресов.
В этой статье мы обсудим наиболее распространенные варианты использования перенаправления с использованием файла .htaccess
, включая фрагменты рабочего кода.
Что нужно для начала
Вам необходимо использовать RewriteEngine
, который является частью модуля modrewrite (открывается в новой вкладке), который существенно увеличивает ваш .htaccess
файл.
Модуль modrewrite
загружается в Apache по умолчанию, но если он не загружается, убедитесь, что вы специально загрузили его в конфигурацию Apache, используя следующие директивы:
RewriteEngine On
В приведенных ниже примерах мы каждый раз добавляем правила под RewriteEngine на
.