Как сделать редирект в 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
Редирект в 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 (редирект).
Читайте также: