Https wordpress htaccess: How to Redirect HTTP to HTTPS in .htaccess for a WordPress Website

Настроить в WordPress редирект на HTTPS за 5 минут

После подключения SSL — сертификата, необходимо правильно настроить в WordPress редирект на https. В противном случае будут плачевные последствия.

Начальные знания

27.1k.

Сделаем при помощи нескольких функций: настройка параметров в админке, назначение правил в htaccess и установка плагина. Если этого не сделать, то сайт будет открываться сразу по двум адресам, что приведет к появлению дублей и понижению позиций. В статье я расскажу 3 простых шага, которые помогут избежать этой ситуации.

Содержание

  1. Что такое протокол HTTPS
  2. Почему важно перейти на HTTPS
  3. Общие принципы перехода на HTTPS
  4. Изменение префиксов в панели вордпресса
  5. Перенаправление остальных элементов
  6. Редирект на HTTPS 301 в .htaccess
  7. С помощью плагина Easy HTTPS Redirection
  8. Какие проблемы могут возникнуть при переходе на HTTPS
  9. Чеклист всех операций

Что такое протокол HTTPS

Протокол HTTPS (расшифровка Hypertext Transport Protocol Secure) — это технология, шифрующая информацию между сайтом и пользователем. При вводе информации посетителем и выводе ее на экран, шифруется все, что дает преграду злоумышленникам похитить личные данные.

Технологии применяемые в HTTPS

  • Шифрование. Каждое действие шифруется
  • Безопасность. При изменении и добавлении новых данных они сохраняются
  • Аутентификация. Блокирует небезопасные перенаправления

Почему важно перейти на HTTPS

Причин для перехода на HTTPS может быть несколько.

  • Первая — это небольшой приоритет в выдаче поисковых систем, сообщаете ПС что вы заботитесь о безопасности и конфиденциальности посетителей.
  • Вторая — при сборе контактов (в той же форме комментирования), нужно применять протокол, так как перехватить информацию легко. Часто посетители авторизуются на сайте при помощи социальных сетей.
  • Третья — оплата в интернет магазинах. Если имеется интернет магазин без SSL — сертификата он будет заблокирован и помечен, как небезопасный в любом браузере. Google и Яндекс давно отслеживают такие ресурсы и как минимум не дают им первые позиции, и как максимум помечают как опасные.

Общие принципы перехода на HTTPS

Принцип перехода прост, вы покупаете, либо берете бесплатный SSL — сертификат, устанавливаете на сайт (сами или помогает поддержка хостинга), настраиваете элементы для корректного отображения и радуетесь зеленой полоске в браузере. По шагам выглядит так:

  1. Выбрать платный или бесплатный серитификат
  2. Получить персональный ключ
  3. Оформить файл с протоколом в онлайн — центре сертификации
  4. Установить и привязать сертификат к домену
  5. Настроить движок и изменить ссылки

Изменение префиксов в панели вордпресса

Для редиректа на HTTPS главной страницы в панели WordPress заходим в настройки, в раздел общие и прописываем там дополнительную букву S, как показано на скриншоте. Теперь заходите на сайт по протоколу, по заранее известным логину и паролю.

Меняем адрес сайта в админке WordPress

После смены адреса и подключив перенаправление при входе в админ-панель придется по новой вводить логин и пароль. Совет если не помните то заранее их восстановите.

Перенаправление остальных элементов

Чтобы сделать 301 редирект остальных элементов (не записей), картинок, ссылок, таблиц и т.д. нужно установить ненадолго плагин Velvet Blues Update URLs. Чтобы установить плагин:

  • Перейдите в раздел плагины > добавить новый
  • В поле поиск введите название
  • На карточке нажмите кнопку активировать
Изображение плагина Velvet Blues Update URLs

Устанавливаем и вводим настройки, заходим в раздел инструменты > Update URLs. В поле Old URL вводим адрес сайта без протокола, а New URL с ним.

Перезапись ссылок

Далее переходим ко второму шагу и отмечаем все галочки кроме последней. Этим действием перезапишем все имеющиеся на сайте объекты, в которых могут содержаться URL без протокола, и нажимаем Update.

Выставляем элементы ссылок для изменения

Инструмент начнет работу, и после покажет сводную таблицу сколько элементов изменено. После проделанной операции, можно деактивировать и удалить его из WordPress.

Таблица количества измененных URL

Редирект на HTTPS 301 в .htaccess

Завершающим этапом является добавление в WordPress 301 перенаправления в файле htaccess. Он регулирует работу Apache, определим существует ли этот файл на вашем сайте.

Apache — оболочка на чем работает сервер, это как на компьютере стоит Windows. Некоторые хостинги пренебрегают добавлением в репозиторий ресурса, пытаясь управлять с помощью сервера.

Идем в корень WordPress и смотрим. Если существует, то открываем его для редактирования, если нет, то создаем. Нужно подключиться к сайту через FTP соединение, мы используем FileZilla. Войдя в корневой каталог (определяем корень по папкам wp-content и wp-admin), находим htaccess и кликом правой кнопкой мыши выбираем «Просмотр/Правка».

файл .htaccess в программе FileZilla

В появившемся окне программы, вводим конфигурацию написанную ниже после begin wordpress или перед end wordpress. Сохраняем нажатием

CTRL+S, либо через меню файл-сохранить. Код подходит и для мультисайта с поддоменами.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Куда вставлять код для редиректа HTTPS

После сохранения изменений FileZilla запросит разрешение на перезапись файла htaccess, соглашаемся и программа начнет процесс загрузки.

Это позволит имеющиеся страницы WordPress перевести на https протокол и выводить их автоматически с правильным префиксом. Для проверки работы, зайдите на любую страницу и сотрите букву S, нажмите enter, если редирект с http на https WordPress сработал, то продолжаем.

С помощью плагина Easy HTTPS Redirection

Наиболее простой метод установить плагин, мы советуем Easy HTTPS Redirection. В данном случаем остальные действия делать не нужно. Установив, переходим к настройке.

разбор панели Easy HTTPS Redirection
  • Enable automatic redirection — включает переадресацию
  • Apply HTTPS redirection on — первый пункт перенаправляет весь ресурс, во втором можно выставить для отдельных страниц
  • Force resources to use HTTPS URL — данная галочка может дать множество битых ссылок, она принудительно перезаписывает ссылки в статьях. Не все сервисы и ресурсы перешли на безопасное соединение.

Какие проблемы могут возникнуть при переходе на HTTPS

Проблем при переходе на HTTPS немного. Первая причина не убраны со страницы все исходящие и внутренние ссылки с протоколом HTTP. Далее редиректы, неправильно прописанные в htaccess. Не знание специфики WordPress, что и где нужно менять. Что делать в таких ситуациях:

  1. Проверить всё ли правильно сделано, в админке и в файле htaccess
  2. Если всё хорошо, то проверить работу во всех браузерах, хром, опера, мозилла и т. д. Возможно проблема в неисправном браузере либо в расширениях, которые не дают сработать редиректу.
  3. Возможны неправильные настройки сервера или SSL — сертификата, с этой проблемой скорее всего придется обратиться в поддержку хостинга. Если ошибка не на их стороне, то к поставщикам сертификата.

Если удобнее учится по видео, то смотрите наш обучающий ролик.

Чеклист всех операций
  • Меняем в панели HTTP на HTTPS
  • Заменяем все ссылки на новые с буквой S
  • Прописываем правила переадресации в htaccess

Мы смогли поставить редирект на HTTPS в cms WordPress и сертификат работает правильно. После всех операций, сайт должен быстро проиндексироваться поисковыми системами и обновлен в выдаче.

Работает ли микроразметка в Вашем плагине?

Судя по инструментам проверки в Google — да!

Пожалуйста, оцените материал:

Валентин

Давно занимаюсь и разрабатываю сайты на WordPress. Считаю что лучшего решения для ведения бизнеса не найти, поэтому считаю долгом делиться информацией с остальными.

Редирект для сайта на WordPress: через плагин или htaccess

Редиректы для сайта на CMS WordPress можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.

  • Через плагин;
  • Через htaccess;
  • Как проповерить.

301 редирект для сайта на WordPress

Для этого переходим в административную панель сайта во вкладку «Плагины»-«Добавить новый», где в поиске вводим «redirection».

Устанавливаем появившийся плагин (автор John Gadley) и активируем его.

Переходим в настройки.

Соглашаемся с базовыми настройками.

Система проверит сайт и завершаем настройку.

Дожидаемся установки и переходим в интерфейс плагина.

Чтобы сделать редирект с одной страницы на другую потребуется перейти в «Редирект».

Далее «Добавляем новый».

Далее заполняем:

  • Исходный URL;
  • Целевой URL.

Все готово в списке появится.

Редирект с http на https для WordPress

Чтобы включить настройку потребуется перейти в вкладку «Сайт» и включить опцию:

Force a redirect from HTTP to HTTPS

С WWW на без WWW и наоборот

В этой же вкладке сайт необходимо поставить галочку у нужного пункта.

Важно! По умолчанию настройка не делает никаких изменений в этом плане.

Как сделать редирект через файл htaccess

Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:

Redirect 301 site. poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

https://webmaster.yandex.ru/tools/server-response/

Здесь вводим адрес первой страницы и видим следующее:

Как видим правило применилось и работает корректно.

htaccess — Документация WordPress.org

.htaccess — это распределенный файл конфигурации, с помощью которого Apache обрабатывает изменения конфигурации для каждого каталога.

WordPress использует этот файл для управления тем, как Apache обслуживает файлы из своего корневого каталога и его подкаталогов. В частности, WP изменяет этот файл, чтобы иметь возможность обрабатывать красивые постоянные ссылки.

Эту страницу можно использовать для восстановления поврежденного файла .htaccess (например, некорректно работающего плагина).

 # НАЧАТЬ WordPress
RewriteEngine включен
RewriteRule . ([_0-9- [Л]
Правило перезаписи. index.php [Л]
# ЗАВЕРШИТЬ Мультисайт WordPress
 

Опции

Любые опции, которым предшествуют + , добавляются к текущим действующим опциям, а любые опции, которым предшествуют , удаляются из действующих опций.

Возможные значения директивы Options — любая комбинация:

Нет

Все параметры отключены.

Все

Все опции, кроме MultiViews. Это значение по умолчанию.

ExecCGI

Выполнение сценариев CGI с использованием mod_cgi разрешено.

FollowSymLinks

Сервер будет переходить по символическим ссылкам в этом каталоге.

Включения

Серверные включения, предоставляемые mod_include, разрешены.

Включает NOEXEC

Включения на стороне сервера разрешены, но команды #exec cmd и #exec cgi отключены.

Индексы

URL-адрес сопоставляется с каталогом, а не DirectoryIndex, форматированным списком каталога.

MultiViews

Контент, согласованный «MultiViews» разрешены с использованием mod_negotiation.

SymLinksIfOwnerMatch

Переходите только по символическим ссылкам, если цель принадлежит тому же идентификатору пользователя, что и ссылка.

Это отключит все опции, а затем включит только FollowSymLinks, что необходимо для mod_rewrite.

 Опции Нет
Параметры
 

DirectoryIndex

DirectoryIndex устанавливает файл, который Apache будет обслуживать, если будет запрошен каталог.

Можно указать несколько URL-адресов, и в этом случае сервер вернет первый найденный.

 DirectoryIndex index.php index.html /index.php
 

DefaultLanguage

DefaultLanguage приведет к тому, что все файлы, с которыми еще не связан определенный языковой тег, будут использовать это.

 Язык по умолчанию en
 

Кодировка по умолчанию

Установите кодировку символов по умолчанию, отправляемую в заголовке HTTP. См.: Установка информации о кодировке в .htaccess

 AddDefaultCharset UTF-8
 

Установить кодировку для определенных файлов

 AddType 'text/html; кодировка=UTF-8' .html
 

Набор для определенных файлов

 AddCharset UTF-8 .html
 

ServerSignature

Директива ServerSignature позволяет настроить завершающую строку нижнего колонтитула для документов, созданных сервером. При необходимости добавьте строку, содержащую версию сервера и имя виртуального хоста, на страницы, созданные сервером (внутренние документы об ошибках, списки каталогов FTP, вывод mod_status и mod_info и т. д., но не документы, созданные CGI, или пользовательские документы об ошибках).

On

добавляет строку с номером версии сервера и ServerName обслуживающего виртуального хоста

Off

подавляет строку нижнего колонтитула

ссылочного документа

 SetEnv SERVER_ADMIN admin@site. com
Электронная почта для подписи сервера
 

Принудительная загрузка файлов

Нижеследующее приведет к тому, что любые запросы на файлы, оканчивающиеся на указанные расширения, не будут отображаться в браузере, а вместо этого вызовут диалоговое окно «Сохранить как», чтобы клиент мог загрузить.

 Приложение AddType/октетный поток .avi .mpg .mov .pdf .xls .mp4
 

Сжатие HTTP

Директива AddOutputFilter сопоставляет расширение имени файла с фильтрами, которые будут обрабатывать ответы от сервера перед их отправкой клиенту. Это дополнение к любым фильтрам, определенным в другом месте, включая SetOutputFilter и AddOutputFilterByType. Это сопоставление объединяется с уже действующими, переопределяя любые сопоставления, которые уже существуют для того же расширения. 9Mozilla/4\.0[678] без gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Принудительное сжатие для определенных файлов

 SetOutputFilter DEFLATE
 

Директива Header позволяет отправлять заголовки HTTP для каждого запроса или только для определенных файлов. Вы можете просматривать HTTP-заголовки сайтов с помощью Firebug, Chrome Dev Tools, Wireshark или онлайн-инструмента.

 Набор заголовков X-Pingback "http://www.askapache.com/xmlrpc.php"
Заголовок устанавливает Content-Language "en-US"
 

Это удалит заголовки HTTP, используя всегда будет очень стараться их удалить.

 Заголовок не установлен Pragma
Заголовок всегда отключен WP-Super-Cache
Заголовок всегда отключается
 

Защита паролем при входе в систему

Это очень полезно для защиты файла wp-login.php . Вы можете использовать этот генератор htpasswd.

Базовая аутентификация

 AuthType Базовая
AuthName "Защищено паролем"
AuthUserFile /полный/путь/к/.htpasswd
Требовать действительного пользователя
Удовлетворить все
 

Дайджест-аутентификация

 AuthType Дайджест
AuthName "Защищено паролем"
AuthDigestDomain /wp-login.php https://www. askapache.com/wp-login.php
AuthUserFile /полный/путь/к/.htpasswd
Требовать действительного пользователя
Удовлетворить все
 

Требовать определенный IP-адрес

Это способ разрешить доступ только к определенным IP-адресам.

 ErrorDocument 401 по умолчанию
ErrorDocument 403 по умолчанию
Отклонить заказ, разрешить
Запретить от всех
Разрешить с локального хоста 198.101.159.98
 

Защита конфиденциальных файлов

Это запрещает любой веб-доступ к вашему файлу wp-config, error_logs, php.ini и htaccess/htpasswds.

 Запретить заказ, разрешить
Запретить от всех
 

Требовать SSL

Это заставит использовать SSL и потребует точное имя хоста, иначе будет перенаправлено на версию SSL. Полезно в файле /wp-admin/.htaccess .

 SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.wordpress.com"
Документ об ошибке 403 https://www.wordpress.com
 
  • Official Apache HTTP Server Tutorial: . htaccess files
  • Official Htaccess Directive Quick Reference
  • Htaccess Tutorial
  • Google PageSpeed ​​for Developers
  • Stupid Htaccess Tricks
  • Advanced Mod_Rewrite
  • htaccess for subdirectories
  • Using Permalinks
  • Changing Права доступа к файлам
  • Навыки оболочки UNIX
  • API перезаписи

wordpress — используйте .htaccess для перенаправления HTTP на HTTPs

Я пробовал этот пост и многие другие (1, 2, 3, 4), но все они дают мне TOO_MANY_REDIRECTS или ошибку 500. Итак, вот моя проблема:

С моим текущим .htaccess, вот что происходит :

https://www.dukescasino.com/ — работает отлично

https://dukescasino.com/ — перенаправляет на указанный выше сайт, что отлично версия https:

Welcome to Dukes Casino

http://dukescasino.com/ 9индекс\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л]

Не думаю, что это актуально, но если да, то вот список текущих активных плагинов:

  • Расширенные настраиваемые поля
  • Все в одном SEO-пакете
  • Тип элемента окна поиска Bop для навигационных меню
  • Контактная форма 7
  • Отключить комментарии
  • Google XML Sitemaps
  • Jetpack от WordPress.com
  • Поиск и фильтр
  • Слайдер WD
  • Настольный пресс
  • UpdraftPlus — резервное копирование/восстановление
  • Безопасность Wordfence
  • WPide
  • WP Смуш
  • Суперкэш WP

Выполненные тесты:

Тест A:

  RewriteEngine включен
Переписать Базу /
RewriteCond %{HTTPS} выкл.
# Сначала перепишите на HTTPS:
# Не ставьте www. здесь. Если он уже есть, он будет включен, если нет
# последующее правило поймает его.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Теперь перепишите любой запрос к неправильному домену, чтобы использовать www.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *