301 redirect htaccess на другой домен: Редирект через .htaccess | REG.RU

Как сделать редиректы в .htaccess?

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

Редирект с HTTP на HTTPS

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

Первый вариант

RewriteEngine On 

# Варианты условий, раскомментируйте (удалите # в начале строк) у того варианта, который Вам подходит. Не подходящий же вариант нужно закомментировать (добавить # в начале строки)
# Вариант 1
RewriteCond %{ENV:HTTPS} !on

# Вариант 2
#RewriteCond %{HTTP:X-Forwarded-Proto} !https 

# Вариант 3
#RewriteCond %{HTTP:X-Forwarded-Port} !443

# Вариант 4 (на хостинге HostiMan он не работает, но может работать на VDS и иных окружениях).
(.*)\/$ /$1 [R=301,L]

Редирект на новую страницу
Настройте перенаправление со старой страницы /old_index.php на новую /new_index.php

Redirect 301 /index.php http://yoursite.ru/index.php

Более сложные примеры правил редиректов при помощи .htaccess

RedirectMatch [status] URL-regexp URL-to-redirect

[status] — код перенаправления (30x), 
URL-regexp — информация о перенаправляемом ресурсе, в том числе, с использованием регулярных выражений
URL-to-redirect — адрес перенаправления

Пример 1. Переадресация всего сайта с сохранением строки запроса

Redirect / http://yandex.ru/yandsearch?text= 

Выполнится 302 редирект (по умолчанию) на поиск в Яндексе символов, введенных в адресную строку после названия Вашего сайта.

То есть если посетитель введет http://site.ru/page, то браузер его перенаправит на http://yandex. ru/yandsearch?text=page

Пример 2. Переадресация конкретной страницы

Redirect 301 /hello.html http://google.ru/search?q=bye

 В случае перехода на страницу http://site.ru/hello.html выполнится 301 редирект на поиск в Гугле фразы «bye».

Пример 3. Переадресация конкретных файлов.
Примечание: данный редирект может не работать на серверах с nginx, если используются расширения статических файлов. 

RedirectMatch (.*)\.jpg$ http://хостинг_для_картинок$1.jpg 

«Временно» (по умолчанию действует 302 редирект) переадресовываем все запросы jpeg-картинок на какой-либо бесплатный хостинг
Аналогичный код, но при помощи RewriteRule

RewriteEngine on
RewriteRule (.*)\.jpg$ http://хостинг_для_картинок$1.jpg [L,R]


Пример 4. Передресация URL, в которых содержится QUERY STRING
Если у Вас имеется страница https://site.ru/page.php?page=hello&id=5 и нужно сделать её редирект, то при помощи . page\.php$ https://site.ru/redirect_to? [R=301,L]

 

В первой строке мы указываем, что правило будет распространятся только на запрос файла page.php
Во второй строке указываем строку запроса (query string), при наличии которой выполнится правило RewriteRule.
Когда 2 указанных RewriteCond совпадут, сработает RewriteRule, в котором указан редирект страницы page.php на URL https://site.ru/redirect_to? с кодом 301
Знак «?» в конце URL указан для того, чтобы строка запроса не передавалась на URL редиректа. Если передача необходима, то следует удалить знак «?» из URL.

Если у Вас возникнут трудности с настройкой данной редиректа обратиться в техническую поддержку нашего хостинга и наши сотрудники с радостью помогут Вам.

Зачем необходим htaccess редирект | Cloud4box

Опубликовано: 17.05.2022 в 11:07

Категории: Без рубрики

 

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

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

Файл .htaccess предназначен для указания настроек, необходимых для оптимизации ресурса. Он используется для:

  • настройки различных редиректов;
  • обеспечения безопасности;
  • настройки правил размещения контента;
  • ускорения загрузки страниц и т.д.

Зачем необходим .htaccess и где его искать

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

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

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

Если .htaccess еще не создан, то оптимизатору нужно об этом позаботиться. Для этого следует взять любой текстовый редактор и прописать в нем все требуемые команды. При сохранении файлу не нужно давать имя. При этом расширением нужно указать  .htaccess. Созданный файл следует разместить в корневой директории или папке каталога.

Редиректы .htaccess

.htaccess редиректы – это временное перенаправление, означающее, что страница на данный момент недоступна и ее адрес в будущем может поменяться. Перед настройкой редиректов необходимо:

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

Существует 4 основных редиректа:

  • постраничный;
  • на страницу со слешем или без него;
  • для настройки основного зеркала;
  • 301 на другой домен.

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

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

Для настройки главного зеркала оптимизатор должен решить, как будет указываться адрес сайта – с www или без. Для этого необходимо:

  • Добавить ресурс в Я.Вебмастер в двух возможных вариантах. Яндекс самостоятельно выберет зеркало и укажет его в консоли.
  • Просмотреть поисковую выдачу. Если в индексе большинство страниц ресурса указаны с www, то и главное зеркало должно быть аналогичным.

При разработке нового сайта подходят оба варианта. После определения формата адреса главного зеркала нужно указать соответствующие команды в .htaccess.

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

Синтаксис .htaccess

При создании и работе с .htaccess нужно учитывать довольно простые правила синтаксиса.

— начало строки;
  • $ — конец строки;
  • * — любое число различных символов;
  • | — символ «или» при выборе определенной группы;
  • () – для выделения нескольких символов.
  • Также существуют наиболее востребованные переменные. Например, в %{HTTP_USER_AGENT} содержатся данные о браузере посетителей и их ОС. В переменной %{REMOTE_ADDR} содержится IP-адрес посетителя.

    Стоит добавить, что синтаксис этого файла всегда можно найти в официальной документации Apache HTTP Server.

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

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

    .htaccess — 301 редирект, новый домен

    спросил

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

    Просмотрено 672 раза

    Я изменил доменное имя на своем веб-сайте и у меня возникли проблемы с настройкой перенаправления.

    Перенаправление 301 работает только на основном домене. olddomain.com в nydoamin.com 9индекс\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л]

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

    • .htaccess
    • перенаправление
    • облачные сервисы
    4

    В корне документа старого домена вы можете сделать что-то вроде следующего, используя mod_rewrite в верхней части 9www.olddomain.com$ RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

    .htaccess — 301 перенаправление всего домена на новый + несколько отдельных страниц на новые URL-адреса

    спросил

    Изменено 3 года, 11 месяцев назад

    Просмотрено 418 раз

    У меня есть olddomain.com — и я хочу перенаправить на newdomain.com с помощью htaccess и 301 — это просто и работает очень хорошо для меня — если я перенаправляю весь домен.

    Но в новом домене я изменил несколько URL-адресов (теперь они другие, чем в предыдущем домене), и я хочу перенаправить весь домен и несколько определенных страниц на несколько определенных страниц, и я не знаю, как совместить эти 2 условия (перенаправить весь домен и перенаправить несколько определенных страниц).

    Это работает для меня

    9www.olddomain.com$ RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L]

    , и я хотел бы добавить в код некоторые конкретные перенаправления, подобные этому, но я не знаю, как это объединить, чтобы оно работало:

     Redirect 301 /something/ https://newdomain.com/something-changed- новый/
     

    Заранее спасибо за помощь.

    • .htaccess
    • перенаправление
    • http-код состояния-301
    1 9(www\.)?olddomain\.com [NC] Правило перезаписи (.*) https://newdomain.com/$1 [L] 0

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но никогда не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

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

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