Массовая замена абсолютных ссылок на относительные при переходе на HTTPS

Добрый день!

Хочу поделиться простым способом замены абсолютных ссылок сайта на относительные. сталкивался с данной проблемой несколько раз при переходе на HTTPS.

Совсем недавно нашел совсем простой способ, с которым перевел сайт на битриксе за час на https.

Итак, сам шаблон написан нормально на абсолютных ссылках, там трогать ничего не надо (как правило, если разработчик нормальный). Абсолютные ссылки появляются на этапе добавления контента, контент-менеджеры или администраторы сайтов, как правило не вникают  в написание ссылок при создании новостей или статей, просто копируют из строки браузера и все.

Итак к делу: Есть новости (около 300 штук), описание которых хранится в базе данных. Есть куча файлов php в структуре, которые созданы для отдельных страниц. Везде есть ссылки  HTTP, которые при переходе на HTTPS говорят пользователю, что на сайте смешанный контент и соединение не безопасно. Зачем нам это? надо устранить, чтобы появился замочек.

  1. База данных. Есть автоматизированные способы решения вопроса, через запрос SQL, я предпочитаю вручную, чтобы не испортить рабочий сайт (благо таких ссылок было всего 40 или 50, заняло все минут 15).

Заходим в PHP My Admin, жмем поиск, выбираем все таблицы и вводим в строку поиска «http://», панель покажет, в каких таблицах есть искомый контент, у меня это в основном новости.

Можно либо прямо в PHPMYADMIN править тексты описаний, но я перешел в панель управления битрикс, зашел в список новостей. Там сверху справа есть колесико, в котором можно настроить видимые поля. Выбираю видимость полей краткое описание и полное описание. Таким образом получаю на странице контент всех новостей. Выбираю все новости на странице галочкой и внизу выбираю применить ко всем «редактировать»

Далее поиском браузера (Ctrl+F) ищу «http://» он подсвечивает все найденные слова. и руками правлю их на относительные ссылки привожу к виду «//» так контент будет читаться как на http так и на https.

2 Переходим к файлам PHP:

Скачал все интересующие меня папки со страницами к себе на комп. (Рекомендую кстати сделать бэкап сайта перед манипуляциями, мало ли что).

Далее запускаю Notepad++ (распространяется бесплатно, отличный редактор).

В верхнем меню выбираю «поиск-найти в файлах» или Cntr+Shift+А

Выбираете что надо найти,

Найти: «http://»

Заменить «//»

Фильтр: *.php (можно html или другие файлы, смотря что нужно)

Папка: (ваша папка со скачанными файлами с сайта (поиск осуществляется во всех вложенных папка)

Жмете «найти», снизу покажет что нашел и в каких файлах, потом заменить. Notepad++ все заменит. для проверки можно снова нажать найти, чтобы удостовериться что все заменено.

Все готово. теперь копируете обратно файлы на хостинг (через ftp или через панель управления) с заменой. старый файлы будут заменены новыми с исправленными ссылками.

Все готово, можете наслаждаться рабочим на HTTPS сайтом.

Поделиться ссылкой: