Зачем это нужно?
Есть несколько причин:
- у нас сайт в разработке, пока работает на 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
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Запрос на размещение Вашего рекламного поста (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Последние публикации
Яндекс Metrika добавила кнопку на фронтенд

Публикация 10 месяцев назад
На сайтах появилась новая кнопка Вот она - маленькая, круглая справа внизу, рядом с кнопкой "Наверх" При нажатии появляется статистика Яндекс.Метрика. Вообще это некрасиво. Счетчик должен считать - а не добавлять что-то на сайт. Скрипт, которые Вы установили на сайт для подсчета посетителей - начал что-то добавлять на фронтенде Вашего сайта - и Вас никто не спрашивал. Да - конечно, статистика показывается только владельцу счетчика (т.е. он зарегистрирован в текущей сессии в Яндексе под своим логином). Модуль статистики на сайте Показывать статистику прямо на сайте для владельца счетчика. Статистика будет отображаться только при условиях: ваш браузер...
(Читать полностью...)
Пароль для внешних приложений mail.ru

Публикация 11 месяцев назад
Упс... А что случилось? Пришло письмо на почту. А что это? А это Вы используется сервер SMTP Вашего почтового ящика от mail.ru на своем сайте - и он перестал работать :( Читаем статью Как отправить e-mail с сайта? И теперь всё перестало работать - где-то с июня 2022 г. Почта mail.ru ввела дополнительную защиту аккаунта Теперь Ваш пароль от почтового ящика работает только для Вас. Для входа в аккаунт и для использования почты. Если Вы хотите использовать сервер SMTP для отправки почты с сайта - Вам теперь нужен отдельный пароль для приложений. Если враги его узнают - они не получат доступа к аккаунту, с его помощью можно только получать и оправлять письма с помощью...
(Читать полностью...)
Как выбрать регистратора доменов в 2022 году

Публикация 12 месяцев назад
Простой вопрос. Выбираем подешевле - и вперед? Какая разница? Цена за регистрацию и за продление обычно разная Да, есть такое дело. Цена может отличаться в 4 раза. Срок регистрации для доменов в зоне .RU один год, первый год - дешево, потом дороже. Но это не является совсем уж ключевым параметром. Есть другая проблема - часть регистраторов занимается "продажей" услуг в нагрузку. Добавление навязанных услуг в корзину - очень плохой вариант Невозможно купить нормально домен - смотрим примеры выбираем домен и добавляем его в корзину Упс, добавилась позиция за 89 руб. Т.е. не просто добавили товар с нулевой стоимостью в рамках акции - а добавили то, что клиент не...
(Читать полностью...)
Приключение пробелов и TAB в html

Публикация 1 год назад
Крайне забавная тема. Вот они. Мнемоника - специальный синтаксис для указания символов в html коде. Читаем Мнемоники в HTML Символ пробела, ASCII / UNICOD код 32 В спецификации HTML сделана интересная схема отображения пробелов: несколько пробелов между символами отображается как один несколько пробелов до символа отображаются как один один пробел на пустой строке не отображается внутри тэгов <pre> показываются все пробелы Зачем это сделано? Для удобства редактирования кода html руками :) Вот пример кода в тегах <pre> <p><b> пример текста пример текста пример текста </b></p> данный текст отобразится как пример текста...
(Читать полностью...)
Алгоритм суммы одинаковых элементов массива (на примере Python)

Публикация 1 год назад
Простая задача - посчитать количество одинаковых элементов массива Глазами легко видеть, что суммы правильные :) Попробуем теперь сделать тоже самое программно. Используем Python. Логика кажется очень простой: делаем счетчик складываем при смене элемента счетчик обнуляем выводим то, что насчитали Поехали. Будет картинками, правильный код в виде текста будет в конце статьи. Используем интерпретатор Питона по ссылке https://www.online-python.com/ Варианты неправильного кода для подсчета числа элементов массива Конечно, массив надо сначала отсортировать, что бы одинаковые элементы были рядом. Будем считать, что это сделано заранее. Позвольте, а где элемент...
(Читать полностью...)
Используем PHP и псевдографику для простой гистограммы

Публикация 2 года назад
Вот такой вывод "гистограммы" на основе данных массива Нет никаких графических библиотек, чистый PHP и символ псевдографики ▓ (ASCII 2593). Разная насыщенность: значение более 70% от размера ячейки значение менее полного размера ячейки нет значения - фон Для построения используется цифровой массив - могут быть положительные и отрицательные данные. Массив ниже - данные вначале более актуальные по времени, поэтому в коде используется реверс (что бы эти данные оказались справа на гистограмме) $arr_count = array (150,145,20,10,5,0,99,85,41,34,21,56,75,46,78,34,125,130,128,10,15,24,50,30,20,0,10,20,30,50,30,20,10,5,0,5,10,20,30,50,150,145); Да - точность не особо...
(Читать полностью...)
В Debian 11 нет команды iptables

Публикация 2 года назад
При вводе команды iptables получаем “command not found”. Это как? А вот так :) По умолчанию теперь есть nftables. Включена в ядро Linux, начиная с версии 3.13, выпущенной 19 января 2014 года. Является заменой четырех команд: iptables ip6tables arptables ebtables Базовых отличий два: в одной команде объедена работа с протоколами IPv4 и IPv6 теперь нет изначально созданных таблиц - нужно создавать самостоятельно Таблицы могут быть одного из 6-ти семейств (families): ip — для обработки пакетов IPv4 ip6 — IPv6 inet — обрабатывает сразу и IPv4 и IPv6 (чтобы не дублировать одинаковые правила) arp — пакеты протокола ARP bridge — пакеты, проходящие через мост netdev...
(Читать полностью...)
Использование тройного === в программировании (PHP)

Публикация 2 года назад
Любопытный пример. Программисты знают, что есть несколько вариантов "равно": присваивание $a = 10 сравнение if ($a == $b) {........} тождественное сравнение if ($a === $b) {........} Если с первыми двумя вариантами достаточно понятно, то третий вариант вызывает вопросы. Тождественно равно - должны совпадать не только значения, но и типы переменных. Основные типы в PHP: число $a = 10; строка $b = '10'; // кавычки показывают, что внутри строка логическая переменная $c = FALSE; И например, условие $a == $b будет верным, т.к. сравниваются значения и интерпретатор PHP "понимает", что это десять. А вот условие $a === $b будет ложным, т.к....
(Читать полностью...)