Типы редиректов сайта
Есть несколько типов редиректов, рассмотрите каждый из них в кратце, чтобы определить какой из них вам больше подходит.
Редирект через htaccess - самый популярный, и довольно простой способ. Чтобы его сделать, вам понадобится создать в папке сайта файл с названием .htaccess (обратите внимание, что название файла начинается с точки, это не опечатка). Если вы используете CMS WordPress или Joomla, то скорее всего этот файл у вас уже есть, в этом случае вам нужно будет просто отредактировать его.
Читайте ниже чтобы узнать какие именно инструкции в нем нужно прописать, чтобы создать перенаправление.
Редирект при помощи PHP - подойдет в том случае, если вы разбираетесь в PHP и знаете структуру своего сайта. Этот вариант подойдет вам, если ваш сайт написан не на CMS. В ином случае лучше используйте редирект через htaccess.
Редирект HTML - если у вас простой HTML сайт и вам нужно сделать перенаправление для одной страницы - это самый простой вариант. Сделать перенаправление для всего сайта этим способом будет трудозатратно, особенно если у вас на сайте больше 10 страниц.
Редирект при помощи JavaScript - этот способ подойдет также в том случае, если у вас простой сайт, либо если нужно сделать редирект для одной - двух страниц, либо для всего сайта в целом.
Инструкции, которые вы увидите ниже, нужно прописать в файл .htaccess в самое начало.
Этот вариант подходит для замены старых страниц сайта на новые.
310 редирект с www на без www
RewriteCond %{HTTP_HOST} ^www.example.ru [NC]
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
310 редирект с одной страницы на другую
Редирект ошибки 404
ErrorDocument 404 /index.html
Пропишите эту строку в .htaccess файле, и тогда все посетители, которым встретится ошибка 404, будут перенаправлены на index.html.Редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Если вы прописываете редирект для WordPress, то обратите внимание на то, что в файле уже есть строка RewriteEngine On. Поэтому сразу под ней вам нужно добавить такие строки
RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
В PHP редирект делается так: сервер отправляет заголовки headers браузеру посетителя, и тот переходит по нужному адресу автоматически.
Стоит отметить важный момент, отправлять заголовки можно только до вывода другой информации. То есть они должны отправляться до вывода любой другой информации через echoи до отправки кук.
if( $_SERVER['REQUEST_URI'] === 'blog/post-1.html' ){
header(" Location: http://example.com/page.html ");
}
?>
Чтобы сделать редирект через HTML, нужно добавить на каждую страницу где он планируется специальный мета тег. Мета тег прописывается внутри тега <head>.
На больших сайтах этот метод не удобен, и рекомендуется использовать редирект через htaccess.
Этот вид перенаправления удобен тем, что его код можно прописать в одном файле (в отличие от html метода), и этот файл вставить на каждой странице прописав
<script type="text/javascript" src="redirect.js"></script>
location="http://yandex.ru";
</script>
setTimeout(function(){
location="http://yandex.ru";
}, 5000);
</script>
$(location).attr('href',"http://example.com");
</script>
Поделись ссылкой в соцсети!
Перепечатка материалов разрешена только при наличии прямой ссылки на сайт!