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

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

Редирект на html

Располагается в заголовке html документа

<html>
<head>
<meta http-equiv="refresh" content="0; url=http://example.com/" />
</head>
<body>
</body>
</html>

В этом примере перенаправление происходит по адресу http://example.com/ через 0 секунд. Продолжительность задержки может быть произвольной, а сам документ может содержать некий контент, который будет отображаться пока не произойдет перенаправление.

PHP redirect

Один из самых простых способов

<?php
 header('Location: '.$newURL);
?>

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

Ну или совсем просто:

<?php
 header('Location: http://example.com/');
?>

Перенаправление конкретных страниц в .htaccess

Не сложней предыдущего варианта:

Redirect /page1.html http://www.example.com/page2.html

То есть просто откуда и куда. После слова Redirect можно указывать статус перенаправления, наиболее часто используется 301, полный список можно легко найти в интернете.

Redirect 301 /page2.html http://www.example.com/page3.html

mod_rewrite .htaccess redirect

Этот способ может использоваться и для статических, и для динамических страниц. Например, редирект на имя сайта с префиксом www:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
</IfModule>

То же самое наоборот, когда ссылки сайта www.example.com переадрессовываются на такие же ссылки сайта example.com

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
</IfModule>

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

nginx

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

if ($host != "example.com" ) {
rewrite ^/(.*)$ http://example.com/$1 permanent;
}

 Список будет дополняться по мере обнаружения новых полезных способов.

Добавить комментарий

Ваш адрес email не будет опубликован.

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