Мне было поручено преобразовать около 100 сайтов в моем многосайтовом экземпляре в HTTPS.
Я могу легко написать скрипт , чтобы ударить БД и изменять siteurl
и home
значение HTTPS, который INTURN должен заставить сайт для блокировок сценариев и будущих погруженных изображений HTTPS правильно?
Ну, мне также нужно пройти через все post_content для любых внутренних ссылок, а также изображений, использующих HTTP, и преобразовать их в HTTPS.
Я мог бы, вероятно, сделать что-то вместе, чтобы сделать это, но мне интересно, что еще мне нужно изменить. GUIDы правильно? Если бы я использовал команды $ wpdb, мне нужно было бы повторно выполнить повторную сериализацию БД?
Я должен был сначала спросить, есть ли надежный плагин, который позаботится об этом для меня? Что еще мне нужно знать об этом процессе?
Примечания. У нас уже есть все сертификаты SSL, поэтому мне не о чем беспокоиться. - Сервер работает под управлением Linux (RedHat) и Apache. - Мультисайт использует подкаталоги. - Я не знаю много другого, хотя сервер находится за пределами моей юрисдикции.
http
на,https
если вы тоже не измените длину строки!Ответы:
Вы можете запустить скрипт, чтобы ОБНОВИТЬ все URL-адреса и направляющие к https, если вы хотите чистую настройку.
Но также рассмотрим альтернативы, такие как:
В wp-config.php для бэкэнда:
В wp-config.php для внешнего интерфейса (или запустите скрипт db UPDATE):
Тогда вы можете просто запустить скрипт, чтобы ОБНОВИТЬ все URL-адреса содержимого wp_posts.
источник
Этот процесс на самом деле включает в себя покупку сертификата безопасности и применение его на вашем сервере для ваших веб-сайтов. Это, в свою очередь, заставит всех посещать безопасное соединение через сертификат, предоставленный вашим сервером. Эти сертификаты называются SSL-сертификатами: http://www.DigiCert.com/SSL-Certificates.
источник
Один из возможных способов сделать это изменение данных - использовать WP-CLI на терминале.
Прежде всего, вы должны убедиться, что у вас есть резервная копия и надежная стратегия восстановления на случай, если что-то пойдет не так. Вам также следует протестировать эту процедуру на локальной или тестирующей системе с копией действующей базы данных.
Основные шаги, чтобы перебрать каждый сайт сети и заменить URL - адрес каждого сайта с помощью WP-CLI в
search-replace
команду .Вот один вкладыш bash:
Давайте рассмотрим это:
Тот запускает цикл для каждой строки вывода команды внутри
$()
и записывает каждую строку в переменную$SITE
.Это WP-CLI
site list
команда , которая дает вам список всех URL - адресов сайтов в сети. Запустите эту команду исключительно, вы, вероятно, увидите что-то вроде:Сейчас же
просто запустит часть внутреннего цикла.
Команда внутреннего цикла выполняет всю магию (я разделил ее на две строки, используя
\
для удобства чтения):Мы говорим WP-CLI для поиска для
$SITE
(напримерhttps://your-site.tld/
) и заменить его с немного измененной версии:${SITE/http:/https:}
. Эта строка заменяет операцию, которая заменяетсяhttp:
наhttps:
. (Таким образом, разрешая переменные, команда будет выглядеть такwp search-replace "http://your-site.tdl/" "https://your-site.tld/"
).search-replace
имеет много возможных опций, которые описаны в документации . В примере я использовал это:--dry-run
и--verbose
явно полезны для тестирования команды.--network
применяет операцию поиска и замены также к сетевым таблицам.--precise
говорит WP-CLI использовать PHP вместо SQL для поиска и замены значений. Это гарантирует, что сериализованные значения не будут повреждены.Наконец цикл закрывается
Позвольте мне еще раз подчеркнуть это: проверьте это глубоко, прежде чем начать использовать это в производстве. Вы должны понимать, как это работает и что делает WP-CLI. Раньше я использовал WP-CLI для выполнения таких операций поиска и замены для переноса мультисайтов на другие доменные имена, но не для переключения с
http
наhttps
.Могут быть некоторые крайние случаи: WP-CLI все еще читает
wp-config.php
и пытается найти соответствующую «сеть» в базе данных, используя константы вwp-config.php
. Если вы манипулируете одним сайтом (базой данных), а не другим (константамиwp-config.php
), у вас могут возникнуть проблемы. Но для вашего дела, я думаю , что не будет проблемой , как WP обычно зависит отDOMAIN_CURRENT_SITE
иPATH_CURRENT_SITE
и они не будут меняться в любом случае. Но опять же, проверьте это тщательно.С немного большей магией bash, вы также можете разбить этот цикл на куски по 5 или 10 сайтов и проходить его шаг за шагом.
источник
Чтобы убедиться, что все ваши сайты используют HTTPS
post_content
, вы можете выполнить один из двух вариантов:1. Backend: выполнить запрос SQL
Чтобы убедиться, что все ваши ссылки HTTP установлены как HTTPS, используйте следующий запрос SQL:
OLD_URL
будет заменено наhttp://example.com
(не HTTP)NEW_URL
будет заменен наhttps://example.com
(HTTPS)Это будет охватывать
siteurl
,home
и все содержимое на вашем сайте к новому HTTPS.2. Интерфейс: используйте плагин Search & Replace
Более удобный для пользователя подход - использовать плагин Search & Replace, чтобы легко заменить все таблицы, содержащие ваш старый HTTP, и изменить их на HTTPS. Процесс прост в использовании, и вы можете просмотреть, какие таблицы и строки будут затронуты, прежде чем применять эти изменения.
предостережение
Прежде чем применять какие-либо изменения, я думаю, что само собой разумеется, всегда делать резервную копию вашей базы данных на случай, если что-то пойдет не так.
источник
HTTP является протоколом по умолчанию, который используется большинством веб-сайтов для обработки информации через Интернет. Ваш сайт работает по протоколу HTTPS без каких-либо сообщений об ошибках, это означает, что ваш сертификат был установлен правильно. Вы должны перенести весь ваш сайт с HTTP на HTTPS.
Узнайте, как переместить HTTP в HTTPS для WordPress
источник