Содержание

Перенаправление URL (URL redirection)

Перенаправление URL (англ. URL redirection, URL forwarding, domain redirection, domain forwarding) — техника, применяемая для того, чтобы веб-страница была доступна под несколькими URL.

Слово редирект применяется в значениях:

SEO простое склеивание сайтов и редирект

Это абзац о склеивании сайтов, а не о настройке перенаправления с http на https!!

Если вы выбирали современного регистратора доменных имен, тогда вы можете использовать функцию URL Redirect Record в настройках DNS для создания 301, 302 ответа и не заморачиваться с настройкой редиректов. Ниже таблица какой сайт будет индексироваться при применении URL Redirect Record.

P.S. Для тех кто любит разбираться, сервис URL Redirect Record - это не функция DNS, это сам хостинг провайдер создает сайт и редиректит.

Сервис проверки HTTP заголовков сайта HTTP Status Codes Checker.

Перенаправление HTTP запросов на HTTPS

Если вы хотите запретить использование HTTP, то самым разумным будет перенаправлять все HTTP запросы к страницам на их HTTPS адрес. Чтобы добиться этого в Apache можно, например, организовать перенаправление с помощью mod_rewrite. Для этого сначала необходимо его активировать:

sudo a2enmod rewrite
sudo service apache2 restart

Затем изменить файл /etc/apache2/sites-enabled/000-default, отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл надо добавить внутрь блока

<VirtualHost *:80>
...
</VirtualHost>

строчки:

RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [END,QSA,R=permanent]

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

301 редирект: с WWW на без WWW и наоборот в Apache

Apache глобальное перенаправление (редирект)

В ряде случаем полезно использовать такой редирект В ряде случаев полезна переадресация через

RewriteRule ^dir /dir-new/$1 [R=301,L]

вместо директивы Redirect

HTML редирект или метаредирект

HTML редирект – это соответствующий мета-тег с некоторыми параметрами и значениями. Синтаксис

<meta http-equiv="refresh" content="seconds;URL-to-redirect">

Мета-тег с редиректом прописывается в секции <head> </head>. Параметр content="" со значением 1 определяет перенаправление через 1 секунду и т.п. После URL= вводится адрес перенаправления с текущей страницы.

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

index.php
<html>
 
<head>
<meta name="robots" content="noindex, nofollow">
<meta http-equiv="refresh" content="0;url=https://wiki.dieg.info"/>
 
</head>
<body>
</body>
</html>

Пример Javascript редирект через document.location и метаредиректа

index.php
<html>
 
<head>
<meta name="robots" content="noindex, nofollow">
<meta http-equiv="refresh" content="0;url=https://wiki.dieg.info"/>
 
</head>
<body>
    <script language="javascript" type="text/javascript">
    document.location='https://wiki.dieg.info';
    </script>
</body>
</html>