Переход на HTTPS: необходимо обновить большинство ссылок в медиатеке?

29 февр. 2016 г., 19:06:12
Просмотры: 19.2K
Голосов: 4

Я переношу клиентские установки WordPress на сервер с поддержкой только SSL. По какой-то причине в некоторых (но не во всех) медиатеках появились жёстко прописанные URL. Это медиафайлы, загруженные непосредственно из экземпляра WordPress. Если я смотрю на них в медиатеке, постоянная ссылка отображается с HTTPS-адресом нормально, но большинство полей File-URL по-прежнему содержат HTTP-адрес. Это после изменения URL сайта в настройках.

Что мне нужно сделать с этими установками, чтобы все встроенные медиафайлы на страницах не перестали работать?

8
Комментарии

Я бы запустил плагин типа Velvet Blues Update URLs и заменил http://domain/ на https://domain/ - это заменит все экземпляры во всей базе данных (а также обработает сериализованные данные).

TheDeadMedic TheDeadMedic
29 февр. 2016 г. 19:33:11

@TheDeadMedic Увы, не помогло. Запуск этого плагина действительно изменил кучу URL-адресов — тысячи — но поле file-url у медиафайлов осталось без изменений, поэтому проблемы со смешанным контентом сохраняются.

Caleb Caleb
1 мар. 2016 г. 10:47:48

Вы точно убедились, что все чекбоксы были отмечены при запуске плагина? Особенно поле guid?

TheDeadMedic TheDeadMedic
1 мар. 2016 г. 12:28:53

Только что проверил свою установку SSL, и действительно, поле URL для вложения не использует HTTPS. Однако это не вызывает проблем со смешанным содержимым — как на фронтенде, так и в бэкенде все фактические ссылки на изображения в исходном коде используют HTTPS.

TheDeadMedic TheDeadMedic
1 мар. 2016 г. 12:30:49

@TheDeadMedic Интересно, что теперь проблема, кажется, не в поле SRC (раньше было). Теперь это система адаптивных изображений и значения SRCSET, которые не обновляются. Плагин force-https-srcset сглаживает эту проблему, но было бы лучше просто исправить базу данных, чтобы все было корректно, вместо того чтобы постоянно использовать плагин для перезаписи во время рендеринга.

Caleb Caleb
1 мар. 2016 г. 13:32:46

Проблема не в базе данных, а в ошибке при расчете URL’ов для srcset — хотя в таблице posts есть поле guid, все URL’ы, не закодированные жестко в содержимом поста, генерируются во время выполнения и должны использовать тот же протокол, что и контекст. Посмотрю и, возможно, занесу в trac.

TheDeadMedic TheDeadMedic
1 мар. 2016 г. 13:35:01

У меня такая же проблема, пробовал плагины Velvet Blues и sandr для замены URL, но не отметил нижнюю опцию для обновления GUIDS, и, кажется, там написано, что этого НИКОГДА не следует делать. В любом случае, URL моих изображений всё ещё начинаются с http://. В итоге я использовал плагин Really Simple SSL, и он решил мои проблемы, но я не люблю использовать лишние плагины... а этот кажется таковым, если у вас всё правильно настроено в коде.

Wesley Phibbs Wesley Phibbs
5 мар. 2018 г. 09:40:23

У меня была такая же проблема на моём сайте. Вчера я перешёл с Http на https и с тех пор тестирую сайт. Сначала воспользуйтесь этим инструментом, чтобы проверить наличие ошибок SSL: https://www.jitbit.com/sslcheck/ Затем установите плагин Better search replace в WordPress и замените URL с http на https. Это отлично работает и решает все проблемы.

James Tanner James Tanner
8 янв. 2020 г. 17:08:40
Показать остальные 3 комментариев
Все ответы на вопрос 1
1

Вот что я сделал (шаг 3 скорее всего решит вашу проблему):

1. Обновление файла .htaccess

Добавьте следующее в файл .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

2. Обновление URL сайта в WordPress

Перейдите в Настройки > Общие и обновите Адрес WordPress (URL) и Адрес сайта (URL) на https.

3. Обновление старых URL с http

  1. Установите плагин Velvet Blues Update URLs
  2. Перейдите в Инструменты > Обновить URL
  3. Введите старый и новый URL, например: Старый: http://www.example.com и Новый: https://www.example.com
  4. Отметьте все чекбоксы и нажмите "Обновить URL СЕЙЧАС"
  5. Повторите шаги 3-4, но на этот раз без "www", например: http://example.com и Новый: https://example.com
19 авг. 2017 г. 17:44:26
Комментарии

Я в точности следовал этим указаниям, однако при просмотре изображений в медиабиблиотеке, при открытии деталей изображения, поле URL по-прежнему отображается как http://

Nebri Nebri
8 дек. 2017 г. 17:43:27