Зачем это нужно?
Есть несколько причин:
- у нас сайт в разработке, пока работает на http, но поисковые боты проверяют и протокол https (и делают заглушку основным “зеркалом”…)
- у нас сайт в процессе переезда на другой сервер, а сертификат SSL может выпускаться от 10 мин до 1 часа (если проверка по DNS) – а в поиске все страницы сайта выдаются в виде https://site.ru
Нужно как-то и поисковым машинам сказать, что это временно.
И посетителям сайта, которые в этот момент перейдут с поиска – тоже об этом сказать.
Основная статья по перевода на HTTPS
ВАЖНО: браузер проводит проверку наличия SSL-сертификата раньше (при запросе https), чем срабатывает редирект. Если у Вас нет активного SSL-сертификата (а его пока нет) – посетители сайта в любом случае увидят предупреждение браузера о незащищённом контенте раньше, чем сработает редирект.
Вариантов несколько.
У хостера настроена (на уровне Nginx) заглушка при запросе HTTPS
Очевидно, что запросы до файла .htaccess (Apache) не дойдут. Делаем переадресацию прямо в самом файле-заглушке html вида
<!DOCTYPE html>
<html>
<head>
<title>Сайт на реконструкции</title>
<meta http-equiv="refresh" content="0;URL=http://site.ru" />
<meta name="robots" content="noindex,nofollow">
</head>
<body>
<p>Скоро здесь будет сайт</p>
</body>
</html>
Делаем переадресацию (с нулевой задержкой) на протокол http и запрещаем его роботам индексировать. Если в Nginx всё настроено правильно, то и роботы получат код 302 Moved Temporarily («перемещено временно»).
Нам как раз это и нужно.
Код 301 Moved Permanently («перемещено навсегда») – ни нам, ни роботам не нужен.
Переадресация https->http средствами Apache
Если запрос https доходит до папки сайта – то можно использовать .htaccess
RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ [OR] RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://site.ru/$1 [R=302,L]
или
RewriteEngine On RewriteCond %{ENV:HTTPS} =on RewriteRule ^(.*)$ http://site.ru/$1 [R=302,L]
или без указания имени домена
RewriteEngine On
RewriteCond %{ENV:HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=302,L]
В всех случаях отдаем роботам ошибку 302!
Переадресация всех страниц сайта на главную страницу
У нас же только заглушка есть, остальных станиц пока нет.
Нам не нужен 404 код при переходе с поиска…
Используем конструкцию
RewriteEngine On RewriteBase / RewriteRule ^(.*)$ index.php [L,QSA]
Пусть пока посетители сайта видят основную заглушку index.php
Последние публикации
Чем отличается сервер VPS от VDS

Публикация 2 месяца назад
В чем разница VPS/VDS? Хитрые хостеры отвечают, что это одно и то же. А вот не совсем: VPS - (англ. virtual private server) - виртуальный частный сервер VDS - (англ. virtual dedicated server) - виртуальный выделенный сервер Server - он конечно сервер, но разный. Одна буква P/D - и разница есть. Читаем статью про хостинг Хостинг VPS Самые низкие тарифы VPS – на виртуализации OpenVZ Читаем статью Как выбрать VPS/VDS по параметрам Вот именно OpenVZ - это как раз виртуальный частный сервер VPS. Точнее - это контейнер (причем для его работы требуется модифицированное ядро Linux - в отличии от...
(Читать полностью...)
Что выбрать HDD или SSD у хостера?

Публикация 4 месяца назад
Простой вопрос HDD vs SSD Казалось бы - что тут выбирать? Каждый, кто менял в своей Windows 7 на старом ПК диск HDD на SSD = радовался увеличению быстродействия системы. SSD - быстрее: нет механических систем да и электроны быстрее по микросхемам бегают Но у хостера - не домашний ПК, там сервер. И диски не по отдельности, а соединены в RAID-массив. Некоторые хостеры предлагаю очень простой выбор У некоторых выбор посложнее: SAS или...
(Читать полностью...)
Защищаем скрипт PHP от прямого вызова

Публикация 4 месяца назад
В папке плагинов WordPress лежит замечательный файл index.php "Молчание - золото"... Это как раз для любителей вызвать папку "/wp-content/plugins/" напрямую. В скриптах WordPress проверяется служебная переменная ABSPATH перед запуском if (!defined ('ABSPATH')) exit; При попытке выполнить скрипт вне пространства WP - на выход А как быть с самодельным скриптом ,который запускается с Вашего сайта, но не из WP? Для начала очевидное: Сделаем свой index.php Будем показывать его любопытным при прямом запуске Вариант файла index.php <?php header($_SERVER['SERVER_PROTOCOL']." 404 Not Found"); echo 'Silence is...
(Читать полностью...)
Как заработать на рекламе на информационном сайте

Публикация 5 месяцев назад
Собственно никак :) Есть сервисы Яндекс РСЯ и Google Adsense. Посмотрим внимательно: Яндекс принимает в свою сеть сайты с 10 000 визитов день (Россия) Google принимает всех Цифры по Google Adsense - в среднем с сайта 500 визитов в день (15 000 в месяц) Вы получите порядка 50 долл. Чтобы хотя бы получить 500 долл. за месяц - у Вас должен быть сайт с уровнем визитов 150 000 в месяц. Или, например, 300 000 визитов в месяц - как хочет Яндекс (10 000 * 30 дн). Что для информационного сайта силами одного вебмастера малореально. И не забываем, что у многих...
(Читать полностью...)
Роботы и боты не спят…

Публикация 7 месяцев назад
Пока Вы думаете, как завлечь посетителей на сайт - боты там резвятся от души. одни боты ломятся в админку (для сайта на WordPress). Их там правда не ждут - но ботам всё равно. Любимые файлы WP для подборщиков: wp-login.php xmlrpc.php (для мобильного входа) Другие боты пытаются в форму обратной связи запихнуть исполняемый код или ссылку на рекламный сайт. Вот это "empty message" - уже после очистки от спецсимволов. И какое упорство для 195.123.227.217 - с одного IP-адреса пытаться сделать инъекцию кода в поле формы. И хорошо...
(Читать полностью...)
Протокол http против https

Публикация 7 месяцев назад
Казалось бы, что тут может быть нового? Используйте https и будет Вас счастье. Но чудеса встречаются на разных серверах... Допустим у Вас есть проект в работе, он пока работает на http, сайт уже есть. И он открывается нормально по http. Совершенно случайно Вы узнаете, что сайт открывается еще и по https, но: там висит заглушка вместо сайта никаких действий по подключению https Вы не предпринимали сертификата SSL у Вас нет А откуда Вы это случайно узнали? А это поисковые роботы проверили https, выяснили, что сервер отвечает на запрос (с кодом 302 - временно перемещено), страница с html тэгами там есть = и сделали страницу-пустышку https...
(Читать полностью...)
Как выбрать VPS/VDS по параметрам

Публикация 7 месяцев назад
Будем выбирать VPS/VDS по параметрам. VPS - virtual private server VDS - virtual dedicated server Читаем статью Чем отличается сервер VPS от VDS Другими словами - виртуальный компьютер у хостера, где Вы можете разместить свой web-проект. Компьютер как настоящий (cpu, память, диск, ОС) - только нарисованный в памяти сервера. Про варианты работы VDS читаем статью Хостинг VPS Основные параметры: система виртуализации (OpenVZ, KVM, Hyper-V) операционная система (Linux, Windows) число ядер процессора диск (SAS, SSD, NVMe) оперативная память RAM трафик и ширина канала И собственно web-проект...
(Читать полностью...)