21:13
Настройка переадресации доменов(.htaccess, PHP)
Перенаправление доменов через HTДоменные перенаправления играют важнейшую роль в крупных веб-проектах. Возможность перенаправления трафика одной веб-страницы на другую помогает операторам сайтов направлять потоки посетителей и проводить реструктуризацию сайта. Кроме того, перенаправления позволяют сделать идентичный контент доступным на разных доменах, не считая его дубликатом. Переадресация доменов также является эффективным инструментом для управления индексацией в поисковой оптимизации.



Перенаправление домена при работе сайта

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

Типы переадресации доменов

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

Переадресация на стороне сервера

В большинстве случаев переадресация доменов на стороне сервера осуществляется через конфигурационный файл .htaccess или с помощью PHP-скрипта. Преимущество этих двух методов в том, что вы можете индивидуально определить, какой код состояния HTTP должен быть выведен агенту пользователя. Это позволяет операторам веб-сайтов отмечать переадресацию доменов как постоянную или временную. Коды статуса HTTP 301 и 302 особенно актуальны в этом контексте:

301 - Moved Permanently: Ресурс, запрошенный агентом пользователя, постоянно доступен по URL, указанному в перенаправлении. Старый URL отныне недействителен.
302 - Moved Temporarily: Ресурс, запрошенный агентом пользователя, временно доступен на URL, указанном в перенаправлении. В отличие от кода 301, исходный URL остается действительным, несмотря на перенаправление.
Если код состояния HTTP не определен явно, веб-сервер по умолчанию передает код состояния 302 в случае перенаправления на стороне сервера. Это не всегда намеренно. Поэтому рекомендуется вводить нужный код статуса вручную для каждой переадресации, чтобы избежать ошибок индексирования, таких как перехват URL. В отличие от 301 переадресации, код состояния 302 сообщает веб-краулеру, что исходный URL должен оставаться проиндексированным. При постоянной работе адрес пересылки конкурирует с адресом назначения в индексе поисковой системы.

Совет по SEO
Использование правильного перенаправления позволит сохранить рейтинг в Google и предотвратить возможную потерю трафика.


перенаправление .htaccess

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

Если вы создадите файл .htaccess со следующим кодом в главном каталоге, запросы к исходному домену будут перенаправлены на домен "www.domen.ru" на стороне сервера:

Код
Redirect 301 / http://www.domen.ru/[code]

Строка кода начинается с "Redirect 301" и, таким образом, определяет код статуса HTTP, который будет передан сервером. Далее следует путь к содержимому, которое необходимо перенаправить. В данном случае все, как определено косой чертой. Наконец, полный адрес целевого URL, на который должен быть перенаправлен агент пользователя: "http://www.domen.ru".

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

[code]Redirect 301 /verzeichnis/beispiel-dokument.html http://www.domen.ru/domen.html


После кода статуса HTTP 301 указывается путь к директории файла, который должен быть перенаправлен навсегда ("/directory/example-document.html"), а также адрес места назначения перенаправления ("http://www.domen.ru/domen.html").

На сервере Apache с активным модулем mod_rewrite постоянное перенаправление примера веб-страницы на другой URL будет выглядеть следующим образом:

Код
RewriteEngine On
RewriteRule ^verzeichnis/domen-dokument.html$ http://www.domen.ru/domen.html [L,R=301]


В строке кода 01 активируется модуль mod_rewrite веб-сервера Apache командой "RewriteEngine On". Затем следует "RewriteRule" с указанием пути к файлу пересылки, а также адреса назначения. Каретка и знаки доллара обозначают начало и конец пути, L обозначает последнее правило mod_rewrite для сопоставления запросов. R=301 переадресация со статусом HTTP 301.

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

Переадресация PHP

Переадресация домена может осуществляться не только путем настройки через .htaccess, но и соответствующей командой в PHP-скрипте (например, в index.php). Следующий код показывает постоянную переадресацию на фиктивный целевой URL "www.domen.ru".

Код
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.domen.ru");
exit;
?>


При пересылке через PHP-скрипт предполагаемый код состояния HTTP определяется функцией "header" в строке кода 02. В данном примере необходимо реализовать постоянную переадресацию 301. Поскольку перенаправления на стороне сервера по умолчанию выполняются временно, постоянное перенаправление должно быть явно принудительным с помощью кода состояния 301. Адрес назначения пересылки домена также хранится в строке кода 03 с "заголовком". Переадресация в примере осуществляется на веб-адрес "http://www.domen.ru". Функция "exit" в строке кода 04 завершает сценарий и предотвращает выполнение последующего кода. Чтобы перенаправление через PHP-скрипт работало, блок кода должен находиться в начале, до того как сервер доставит любое HTML-содержимое на страницу перенаправления.

Перенаправления на основе клиента

Если реализация переадресации домена на стороне сервера невозможна по техническим причинам, операторы веб-сайтов могут прибегнуть к решению на основе клиента. Для этого существует метатег HTML "refresh" и соответствующий JavaScript. Недостатком переадресации на основе клиента является то, что сервер не передает код состояния HTTP запрашивающему браузеру или веб-краузеру. Это означает, что браузер или веб-гусеница не информируются о переадресации в явном виде. Кроме того, клиентские перенаправления поддерживаются не всеми пользовательскими агентами, поэтому существует риск, что некоторые посетители страниц не будут перенаправлены.

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

Переадресация JavaScript

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

Код
<script>  
<!--
window.location.replace('http://www.domen.ru');  
//-->
</script>


Особое значение здесь имеет строка кода 03. В коде примера объект "window.location" используется для ссылки на адрес текущей веб-страницы. Команда "replace" предписывает браузеру перенаправить пользователя на целевой домен "www.domen.ru", указанный в скобках.
Категория: Seo оптимизация | Просмотров: 275 | Добавил: vit90ivan | Теги: Переадресация, SEO - поисковая оптимизация | Рейтинг: 0.0/0
Всего комментариев: 1
avatar
0
1 lmivanovo • 19:14, 28.11.2022
dry
avatar