Тарифы Услуги Сим-карты

Как сделать редирект страницы. Функция, убирающая конечный слеш из url. Перенаправление с без www на с www

Редирект – это автоматическое перенаправление пользователей с одного сайта на другой. Я думаю вы с этим часто сталкивались, но если нет то, выглядит это следующим образом – пользователь набирает в адресной строке браузера один адрес, а оказываетесь на совершенно другом сайте. Помимо самого процесса, редиректом называется скрипт, выполняя который, браузер перенаправляет пользователя на другой сайт.

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

Как сделать редирект на другой сайт? Первый способ сделать редирект на другой сайт (подойдет для новичков)

Регистрируемся на одном из сайтов 2domains.ru или reg.ru , покупаем домен по чему именно у них? Потому что в зоне.ru или.рф стоит всего 99 рублей в год! Далее надо подождать несколько часов пока ваш домен зарегистрируется. Потом заходим в панель “Мои домены”, и нажимаем на купленный нами домен и делаем что на скрине.

reg.ru – вариант 1 (при выборе домена)

reg.ru – вариант 2(после того как вы зашли в купленный домен)

Нажимаем Заказать услугу «Переадресация домена / Web-forwarding» (она стоит 120 рублей в год)

В меню справа переходим в раздел Web-forwarding и там снова нажимаем на наш домен и на настройку перееадресации

И отсюда видим что с домена будет переадресовывать на на страницу вконтакте

Второй способ сделать редирект на другой сайт

Это HTML редирект, код вставляется в страницу сайта, которую нужно перенаправить.

Ну вот и все. Надеюсь статья вам пригодиться.

Код ответа 301 (Moved Permanently) означает, что запрошенный документ теперь доступен по новому адресу на постоянной основе. Редирект 301 может понадобиться в нескольких случаях: переезд на новый домен, изменение адреса страницы или . Цели этих мероприятий вполне прозрачны:

  • Перенос старых показателей на новую страницу или домен.
  • Устранение битых ссылок, как внешних, так и внутренних.
  • Устранение дублей страниц.

Существует несколько способов сделать 301 редирект, но я предпочитаю вариант с использованием файла.htaccess, который находится в корневой папке FTP вашего сайта (если его там нет, то просто создайте его, он не имеет расширения).

Настройка 301 редиректа со страницы на страницу

Довольно часто возникает ситуация, когда страница сайта была удалена или вынуждена сменить свой URL. При обращении к её старому адресу, пользователь, само собой, увидит страницу 404 ошибки (не найдено).

Если станица маловажная, то не стоит и возиться, но если к ней часто обращались посетители сайта (и, возможно, у кого-то она сидит в закладках), если на неё ведут неподконтрольные вам внешние ссылки или, наоборот, подконтрольные внутренние, но в таких объёмах, что очень хочется их править, то настройка 301 редирект со старой страницы на новую станет для вас идеальным решением.

Также его можно использовать для борьбы с дублями страниц. В общем нужно писать книгу на тему «99 способов использование Redirect 301». Вот его синтаксис:

Redirect 301 /old-page.html http://new-domain.ru/new-page.html

Ну или так, результат будет один и тот же:

Redirect permanent /old-page.html http://new-domain.ru/new-page.html

Поясняю: /old-page.html - относительный адрес старой страницы. Он может быть вложенным: /old-category/old-page.html, ну или таким: /old-category/old-page/ - тут никаких ограничений нет. Тоже самое относится к http://new-domain.ru/new-page.html (новой странице), с той лишь разницей, что путь тут абсолютный (не обязательно, чтобы это был новый домен - может быть просто новый внутренний адрес страницы).

Настройка 301 редиректа при переносе сайта на новый домен

Не менее понятная ситуация. Возникла необходимость переехать на новый домен, сохранив показатели старого ( , PR). В этом случае приписываем в.htaccess старого домена следующее:

Options +FollowSymLinks
RewriteEngine on

RewriteEngine off

RewriteCond %{HTTP_HOST} ^old-domain\.ru
RewriteRule ^(.*)$ http://new-domain.ru/$1
RewriteCond %{HTTP_HOST} ^www.oldsite\.ru
RewriteRule ^(.*)$ http://old-domain.ru/$1

В данном примере мы установили редирект всех страниц старого домена на страницы нового (при условии, что их относительные адреса совпадают). При этом мы оставили без редиректа на старом домене файл robots.txt, чтобы процесс переноса был более полноценным. В него мы прописываем:

User-agent: *
Disallow:
Host: newsite.ru
Sitemap: http://newsite.ru/sitemap.xml

Ну и ждём пару месяцев, пока переезд домена не будет зачтен, а все характеристики - переданы.

Склейка зеркал сайта: 301 редирект c www на без www и наоборот

Существует несколько вариантов обращения к сайту - с www и без www (например, сайт и www.сайт). Пользователю все равно, как именно вводить URL, так как он в любом случае попадет на одну и ту же страницу. Иначе дело обстоит с поисковыми системами. Они расценивают www.site.ru и site.ru, как два совершенно разных домена (что тянется из глубин истории всемирной сети, когда это действительно было так).

Эти дубли мешают индексации сайта и продвижению в целом, так как, во-первых, это банальные дубли страниц (уж извиняюсь за повторение) и, во-вторых, входящие ссылки будут также укладываться в разные корзины. Тоже самое касается и дублей главной страницы: site.ru, site.ru/index.html, site.ru/index.php и т.д. По этой причине еще на этапе создания сайта желательно позаботиться об этом вопросе и одну из версий сайта (например, c www) переадресовать на другую (например, без www). Если момент был упущен, то тут нет ничего страшного.

Рассмотрим процесс склейки зеркал с помощью 301 редиректа поэтапно.

1. Определяем основной домен, выбранный для индексации поисковыми системами.

Основное зеркало можно легко определить по результатам поисковой выдачи Яндекс и . Вводим название домена и смотрим, какой адрес отобразится: www.site.ru или site.ru. Если же сайт еще не проиндексирован, то выбираем его по своему усмотрению. Если в Google и Yandex основные домены разные, то лучше оставьте Яндексовский.

2. Прописываем 301 редирект в.htaccess.

Находим в корне FTP сайта файл.htaccess, скачиваем и открываем в блокноте, а затем вносим в него необходимые изменения. Первый вариант - 301 редирект домена без www на с www:

Options +FollowSymLinks
RewriteEngine On

RewriteEngine off

RewriteCond %{HTTP_HOST} ^site.ru$
RewriteRule (.*) http://www.site.ru/$1

Обратная ситуация - с www на без www:

Options +FollowSymLinks
RewriteEngine On

RewriteEngine off

RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule (.*) http://site.ru/$1

После завершения редактирования, сохраняем файл и загружаем его в корневую папку FTP с перезаписью.

Опционально можно сразу же позаботиться о дублях главной страницы вида index.php и index.html, добавим ниже следующий код:


RewriteRule ^index\.html$ http://www.site.ru/

RewriteRule ^index\.php$ http://www.site.ru/

Ну и, опять же, если у вас site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://site.ru/
RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/

3. Настройка robots.txt

Увидели знакомую директиву, оставляющей robots.txt нетронутым? Все верно, вносим изменение в robots.txt:

Host: основное-зеркало.ru

4. Проверяем работу сайта.

Вводим тот адрес, который с которого мы проставляли редирект, например www.site.ru или site.ru/index.html и если при заходе на него происходит переход на site.ru, то всё настроено правильно.

5. Настройка Yandex и Google вебмастер.

Дополнительно применяем соответствующие настройки в личных . В случае с Yandex:

Ну и для Google:

На этом вроде всё. Удачи вам и если появятся вопросы, то пишите в комментариях.

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

На самом деле существует несколько редиректов. О том как сделать 301 редирект можно посмотреть на инфографике.

В каких случаях использовать редирект 301?

Использовать переадресацию 301 особенно удобно в следующих случаях:

  • При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, будто перехода и вовсе не было.
  • Для передачи новому домену Page Rank и тИЦ.
  • Для сохранения поискового трафика.
  • Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: //site.ru/sub , //sub.site.ru или //www.site.ru . Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки можно использовать «Инструменты для веб-мастеров».
  • При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  • При переносе страницы сайта в новое место.
  • Для склейки имени сайта с префиксом www и без него.
  • Статья по теме: Корректный переезд сайта на протокол https

    301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новому URL . При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL .

    Редирект с номером ошибки 301 (moved permanently) это наилучший способ сохранить рейтинг сайта в поисковых системах при переносе его на новый домен или смене системы управления контентом. Переадресацию можно выполнить несколькими способами, в зависимости от установленного программного обеспечения.

    301 редирект в.htaccess

    При использовании сервера Apache, переадресацию можно просто выполнить с помощью файла.htaccess , однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect , RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini .

    Для этого поместите в корне папке вашего сайта файл.htaccess. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias Redirect 301 /old-page.html //new-domain.ru/new-page.html

    Redirect permanent /old-page.html //new-domain.ru/new-page.html

    Недостатком данного способа является то, что все адреса, которые необходимо перенаправить, нужно перечислять один за одним, каждый отдельно. Также можно использовать RedirectPermanent для аналогичных целей.

    RedirectPermanent /old-url.html //new-site.ru/new-url.html

    Редирект с помощью директивы RedirectMatch

    Этот редирект подобен предыдущему, за исключением того, что можно задавать регулярное выражение для старых URL адресов. Допустим, при смене движка с PHP на ASP, можно старые адреса перенаправить следующим образом:

    RedirectMatch /(.*).php$ /$1.aspx

    Редирект с помощью директивы RewriteRule модуля mod_rewrite

    Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite , а также влючена опция FollowSymLinks . Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

    Статья

    Инструкция

    Есть возможность отправлять на другой сайт только тех посетителей, которые запрашивают определенного типа. Для этого нужно воспользоваться другой директивой - RedirectMatch. Она отличается от директивы Redirect тем, что использует для сравнения запроса и записанного в htaccess условия регулярное выражение (regexp). Например:RedirectMatch (.*).html$

    Чтобы реализовать этот метод перенаправления на практике, откройте простой текстовый редактор (Блокнот) и создайте в нем пустой документ. Составьте нужное условие на основе приведенных правил и запишите его в этот документ. Затем сохраните с именем ".htaccess" и загрузите в корневую директорию своего сайта . На этом процедура будет закончена.

    Источники:

    • Redirect 301: Как сделать редирект с одной страницы на другую
    • Редирект 301 с со страницы на страницу не затрагивая другие

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

    Инструкция

    Можно решить задачу автоматического перенаправления посетителей на другой сайт только средствами HTML (HyperText Markup language - «язык разметки гипертекста»). В нем есть (метатег), которая сообщает браузеру, что после загрузки текущей страницы следует начать загрузку другой. Этот метатег информацию (атрибуты тега) об адресе перенаправления и времени, через которое следует отправлять на страницу сайт а. Выглядеть он может, например, так:Здесь Refresh - это и есть кодовое слово, которое запускает механизм перенаправления. Цифра 5 указывает, что процесс надо начинать через после загрузки этой страницы. Это время может быть нужно, чтобы посетитель, например, успел сообщение, которое вы поместите в эту страницу. Если такая пауза не нужна - поставьте ноль. А URL=http://www.сайт содержит адрес, на который браузер должен отправить посетителя. Помещать этот метатег следует в заголовочную часть исходного кода страницы - между и .

    Другой способ реализуется с помощью языка программирования JavaScript. Вам потребуется всего одна строка кода, чтобы веб-серфера на нужный адрес. Она может выглядеть, например, так:window.location.reload("http://www..location.replace("http://www..location.href="/";Здесь вам нужно только заменить адрес тем, который вам. Эту команду следует поместить внутрь тегов, которые сообщают браузеру, что она написана на языке JavaScript:
    document.location.replace("http://www.сайт");
    А эти три строки, в свою очередь, размесить внутри той же заголовочной области (между и ).

    После того, как вы выберите один из этих вариантов, откройте нужную страницу, например, в редакторе страниц системы управления сайт ом. Переключитесь в режим редактирования HTML-кода и найдите в нем тег . Скопируйте подготовленный код редиректа (JavaScript или HTML) и вставьте его перед этим тегом. Затем сохраните измененную страницу.

    Всем-всем привет!

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

    Что такое 301 редирект?

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

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

    Пример. Раньше блог Context-UP находился по URL: http://blog.сайт (среди Вас, наверное, есть те кто застал эти времена), затем мне захотелось, чтобы сайт находился на домене второго уровня, то есть . Для осуществления своего желания мне пришлось перенести все содержимое блога в другой каталог (папку) на хостинге, затем в панели , а , указать новый домен, чтобы роботы начали индексировать новый адрес блога. Только после всего этого, я настроил редирект в..

    Теперь я надеюсь, Вы поняли, что такое 301 редирект.

    Как настроить 301 редирект через htaccess?

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

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

  • Mod_rewrite;
  • Mod_alias.
  • Наиболее предпочтительным является первый вариант, так как при его использовании Вам не нужно будет прописывать каждый URL-страницы отдельно, а достаточно только использовать специальные команды (они ниже), благодаря которым и будет происходить редирект.

    Мы, то есть простые клиенты хостинг-провайдеров, способны только активировать данный модуль для своего каталога с сайтом через файл.htaccess. Делается это просто, достаточно ввести в ранее упомянутый файл строчку:

    RewriteEngine On

    Работать данный модуль будет только в том случае, если он подключен в веб-сервере Apache. Поэтому уточните данный момент у администраторов.

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

  • Если вы переезжаете с одного домена на другой;
  • Если Ваш сайт доступен с www и без www;
  • С протокола http на https;
  • С одной страницы на другую;
  • С индексного файла index.html/php на главную страницу.
  • Пойдем по порядку.

    Переезд на другой домен

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

    RewriteEngine On RewriteCond %{HTTP_HOST} old-domen.ru RewriteRule (.*) http: //new-domen.ru/$1

    301 редирект с www на URL без www и наоборот

    Поисковый робот — вещь сложная, поэтому при работе с сайтом, вебмастеру необходимо учитывать множество нюансов. Как пример, для поисковой машины сайт, который доступен по адресу с www (www.site.ru) и без тридаблю (site.ru), делится на два совершенно одинаковых, дублирующих друг друга, веб-ресурса.

    По этой причине, любой сайт должен быть доступен только по одному адресу: либо с www, либо без. Иначе позиции сайта не будут расти.

    Редирект с www.site.ru на site.ru:

    Редирект с site.ru на www.site.ru:

    RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

    С протокола http на https

    Используйте данный код для редиректа на безопасный протокол https:

    RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https: //%{HTTP_HOST}%{REQUEST_URI}

    С одной страницы сайта на другую

    Очень часто бывает такое, что нужно перенаправить посетителей сайта и поискового робота с одной страницы на другую. В таком случае в htaccess достаточно прописать такой код:

    Redirect 301 /stranica1..html

    В одно время мне понадобилось сделать такой 301 редирект со страницы, которая генерируется CMS WordPress, на главную, так как первая дублировала то, что было на второй.

    С index.html или index.php на корень (слеш)

    Изначально, практически на всех сайтах главная страница доступна по двум URL: http://site.ru/index.php и http://site.ru/. Это не правильно, так как получается дублирование контента главной страницы и ПС начнут пессимизировать сайт в выдаче (намеренно опускать сайт вниз).

    Чтобы такого не было, нужно прописать следующее:

    Если Вы хотите сделать редирект с index.html

    RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http: //site/

    Если Вы хотите сделать редирект с index.php

    RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http: //site/

    Используйте данный материал, как шпаргалку, вдруг Вам понадобится. Достаточно просто скопировать нужный код и вставить его в.htaccess.

    Ну а на этом все, дорогие друзья!

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

    До скорых встреч!

    Предыдущая статья
    Следующая статья