2015-09-12 3 views
0

Я хочу использовать https вместо http на моем сайте wordpress. На сайте теперь работает https, и есть только одна проблема.
короткие факты из моих прошлых шагов.Элементы меню Wordpress не являются ссылками https

  • Измените адрес сайта и домашний адрес на бэкэнде администратора с http на https.
  • Используйте поиск и замену плагина и выполните поиск по адресу http: // 'url' и измените на https: // 'url' для всех таблиц и полей, кроме guid.

Теперь проблема. Мой сайт работает через https с каждой страницей, но сайт wordpress генерирует для меню только http-ссылки. Есть 3 меню сайта, и каждое меню имеет только http-меню. Зачем? Как Wordpress генерирует эти ссылки?

ответ

0

Вы можете попробовать использовать правила HTAccess как это:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
+0

Это было бы последним решением, если ничего не получится. Я предпочитаю решить эту проблему самим Wordpress вместо сервера Apache. Спасибо за ваше решение. – Stiffler

+0

ОК). Но не забудьте отметить мой ответ и упрекнуть меня, когда вы в конечном итоге используете это решение (чтобы гарантировать, что все ваши URL-адреса будут использовать https, вы скроете это) :) – SergeyAn

+0

Я поставил все свои реплики на награду. Если у меня больше 5 баллов, я прошу проголосовать за ваш ответ;) – Stiffler

0

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

  1. меню ссылки неправильно жестко закодированные в файлах шаблонов.

    • Если это так, вам нужно будет найти соответствующие файлы шаблонов в активной теме (или создать дочернюю тему) и отредактировать их. Правильный способ определения жестко закодированных ссылок в этом случае (если они должны быть жестко закодированы) заключается в использовании функций тегов шаблонов, таких как site_url(), которые автоматически связывают ссылки с соответствующей схемой и URL-адресом.
  2. Custom links были определены в меню в WP-Admin.

    • Если это так, вы можете отправиться в WordPress Admin --> Appearance --> Menus и отредактировать настраиваемые ссылки в каждом из пунктов меню.
+0

Благодарим за решение, но мое меню состоит только из страниц Wordpress. Таким образом, меню не имеет абсолютных ссылок, а только ссылки на страницы wordpress, которые обрабатываются wordpress. В самой базе данных страницы отображаются как https. Именно по этой причине я спросил, как Wordpress генерирует ссылку меню. У моей темы нет жестко закодированных ссылок. – Stiffler

0

Вы думали об использовании: -

https://en-gb.wordpress.org/plugins/wp-force-ssl/

Это заставит все ваши внутренние ссылки для использования https: //

Это t он тот же, что и @SergeyAn, но вам не нужно напрямую редактировать файл .htaccess.

Смежные вопросы