Як правильно налаштувати редирект на https і замінити всі посилання в контенті записів

Питання в цілому не складний зразок, я це вже робив якось раз, але ось на черговому сайті хотілося б послухати ваш варіант.

Я вже встановив ssl на сервері, тобто сайт вже працює з ssl. Тепер потрібно правильно налаштувати редирект з http на https, і замінити всі посилання з http на https в текстах записів.

Де потрібно було, в шаблоні всі посилання я вже замінив на відносні або на посилання без протоколу (// url).

Гість 1.6 роки тому

Редирект напевно найкраще налаштувати через .htaccess. шляхом вставки такої конструкції перед правилами WordPress. А краще перед усіма правилами, тобто в самий початок файлу:

Тут важливо, що встановлюється 301 редирект, в мережі подивився цю тему, подекуди його не використовують, а він потрібен!

Також, можна встановити редирект в PHP, разом з перенаправленням c .htaccess. Стане в нагоді, якщо з якоїсь причини редирект з апача злетить, щоб PHP був на підстрахування.

Зміна URL в контенті

У мережі бачив пропозиції замінювати http на https прямо в базі даних. Я думаю це не найкраще рішення, тому що можливо в майбутньому ви відмовитеся від SSL і тоді потрібно буде все міняти назад. Тому краще робити заміну на льоту, таким кодом (він швидкий):

Зміна URL інших посилань

Але якщо цього не сталося (протокол сторінки https, але в ній є посилання http), то для зміни протоколу окремих посилань в WP є функція set_url_scheme ().

Коренева функція на основі якої ставиться протокол всіх посилань - це is_ssl (). Впливаючи на неї ми може впливати на всі посилання, за умови, що вони жорстко не прописані в HTML, а виводяться через різні функції WordPress. Наприклад, таким кодом ми можемо, жорстко вказати протокол https для всіх посилань на сторінці, навіть якщо протокол сторінки дорівнює http:

Викликати такий код потрібно якомога раніше, до підключення плагінів. НУ і напевно перед його викликом потрібно зробити якісь перевірки. Цей код - це просто приклад.

Як завжди, можна використовувати плагіни, я їх не пробував.

Easy HTTPS Redirection - заглянув в код, начебто як раз те що вам потрібно.

WordPress HTTPS (SSL) - начебто теж хороший, правда не оновлюється вже давно. Він, як я зрозумів, замінює всі посилання у всьому HTML документі, працює як комбаин: багато зайвих операцій, але може це і потрібно, тому що зручно.

Схожі статті