Как сделать редирект в ucoz

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

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

В этой статье разбираемся, в каких случаях он нужен и как его настроить.

Если вы не хотите тратить время на самостоятельную настройку редиректа — оставьте заявку, и специалисты RU-CENTER сделают это за вас.

Что такое редирект и когда он нужен

В каких случаях нужен редирект

Это не все возможные поводы для редиректа. Они возникают в зависимости от того, какие проблемы нужно решить перенаправлением.

Какие бывают редиректы

301 — постоянный редирект

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

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

303 и 307 — аналоги 302 редиректа

Статус 307 редиректа — временное перенаправление. То есть запрашиваемая страница в данный момент находится по другому адресу. В отличие от 302 изначальная версия ресурса сохранит свои позиции.

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

Как настроить редирект

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

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

В этой статье рассмотрим эти способы на примере самых распространённых причин для редиректа.

Перенос сайта с одного домена на другой

Этот тип перенаправления можно сделать с помощью FTP-клиента. Этот вариант подойдёт тем, кто умеет работать с кодом или готов этому научиться.

Перенос с помощью FTP-клиента

Откройте FTP-клиент и найдите файл .htaccess в корневом каталоге вашего сайта. Уточнить путь к корневому каталогу вы можете у вашего хостинг-провайдера. Если в корневом каталоге сайта нет файла .htaccess, создайте новый файл с таким именем (точка в начале имени обязательна).

Дальше находим в файле .htaccess элемент кода:

RewriteEngine On

RewriteBase /

Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:

Напоминание загрузить обновлённый .htaccess в FTP-клиенте FileZilla

Откройте FTP-клиент и найдите файл .htaccess в корневом каталоге сайта (уточнить имя корневого каталога вы можете у вашего хостинг-провайдера). Если файла с таким именем нет в корневом каталоге, создайте новый файл с именем .htaccess.

Находим в файле .htaccess элемент кода:

RewriteEngine On

RewriteBase /

Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:

RewriteCond % !on

Перенос сайта с домена без префикса www на домен с www

Откройте FTP-клиент и найдите файл .htaccess в корневом каталоге сайта (уточнить имя корневого каталога вы можете у вашего хостинг-провайдера). Если файла с таким именем нет в корневом каталоге, создайте новый файл с именем .htaccess.

Находим в файле .htaccess элемент кода:

RewriteEngine On

RewriteBase /

Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:

Перенос одной страницы на другую временно или постоянно

Объясняем, как это сделать, на примере сайта на WordPress.

Путь получается следующий: админка сайта → Инструменты → Перенаправления → Добавить новое.

Чтобы добавить перенаправление, заполните поля:

Исходный URL — в нём напишите относительный путь, то есть адрес страницы без указания домена, только то, что прописано после слеша.

Целевой URL-адрес — полный адрес, куда вы планируете перенести контент.

Когда мы сохранили перенаправление, получился такой редирект:

где /baza-znanij/slovar — страница-донор,

Разбираем все виды редиректов (html, js, php, htaccess)

Примеры редиректов или же перенаправлений на другую страницу.

Редирект в HTML

Редирект в JavaScript

Метод replace() позволяет заменить одну страницу другой таким образом, что это замещение не будет отражено в истории просмотра HTML-страниц (history) браузера

Метод reload() полностью моделирует поведение браузера при нажатии на кнопку reload в панели инструментов. Если вызывать метод без аргумента или указать его равным true , то браузер проверит время последней модификации документа и загрузит его либо из кеша (если документ не был модифицирован), либо с сервера. Такое поведение соответствует нажатию на кнопку reload . Если в качестве аргумента указать false , то браузер перезагрузит текущий документ с сервера. Такое поведение соответствует одновременному нажатию на reload и кнопки клавиатуры shift (reload+shift) .

Следующие примеры тоже перенаправят на google:

С помощью функции setTimeout возможно реализовать задержку переадресации перед выполнением редиректа (в примере - 5 секунд):

Простой пример редиректа с таймером:

Редирект в PHP

В php есть функция header() , которая разрешает не только подменять стандартные заголовки, но и добавлять новые.

Редирект HTML в PHP:

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

Первая строка указывает код http, а вторая, собственно, задает адрес. В большинстве случаев, проблем не возникнет. Однако, если у вас используется режим FastCGI , то вместо "HTTP/1.1 301 Moved Permanently" может потребоваться написать "Status: 301 Moved Permanently" .

Редирект в .htaccess (RewriteEngine)

Необязательный параметр status - это три цифры - код редиректа (например, 301). Если не указан, то по умолчанию подставляется 302.

URL-path - часть запрашиваемого пользователем (или поисковиком) адреса, которая должна обязательно начинаться со слеша (/)

Если URL-path заканчивается не слешем, то редирект будет срабатывать только в случае точного совпадения запрошенного пользователем адреса и URL-path .

Если URL-path заканчивается слешем, то редирект сработает не только для указанного адреса, но и для всех, которые начинаются на указанный. А к URL-to-redirect будет добавлена часть адреса, следующая за последним указанным слешем в URL-path .

Действие директивы RedirectMatch аналогично Redirect , но в параметрах URL-regexp и URL-to-redirect можно использовать регулярные выражения.

У директивы RewriteRule более широкий спектр применения. Который, в числе прочих возможностей, разрешает ее использования и для редиректа - с указанием в конце строки в квадратных скобках [ ] флагов L (выполнить немедленно) и R (редирект).

Читайте также: