Переключение установки MultiSite с HTTP на HTTPS

11

Я установил MultiSite с URL-адресом, установленным как http://example.com , но теперь я хочу, чтобы все запросы проходили через HTTPS, поэтому я пытаюсь изменить URL-адрес на https://example.com . Я прошел через базу данных и обновляются все siteurlи homeзначения иметь протокол HTTPS , но сайт по- прежнему нагрузки через HTTP, вместо того , чтобы быть перенаправлен на HTTPS.

Я знаю, что могу настроить некоторые правила htaccess, но это может привести к ошибкам. В обычных установках WordPress будет автоматически перенаправлять все запросы к каноническим URLS , определенных в siteurlи homeнастроек, поэтому я предполагаю , что MultiSite делает тоже самое .

Йен Данн
источник

Ответы:

2

Есть плагины для установки сайта на SSL. Почему бы не использовать один из них?

И у вас есть сертификат SSL установлен и активен?

Hiranthi
источник
Все плагины, которые я видел, предназначены для установки определенных страниц для использования HTTPS, а не для всего сайта. В обычных установках WP обычный метод для создания всего использования сайта HTTPS, чтобы установить siteurlи homeзначение. Даже если они были доступны, есть несколько причин, по которым использование плагина является плохой идеей, когда вы можете просто установить значение конфигурации (безопасность, производительность и т. Д.). Кроме того, я уверен, что не имеет значения, есть сертификат SSL или нет. WordPress не собирается проверять это, когда определяет, что такое канонический URL.
Ян Данн
Правда и правда, мне было просто интересно, настроена ли она у вас или нет (многие люди не знают, нужен ли вам сертификат SSL, если вы действительно хотите использовать SSL, отсюда и вопрос). Я только что вспомнил, что у меня был свой сайт в SSL некоторое время назад (не только конкретные страницы, но и весь сайт, как вы хотите). Я посмотрю код.
Хиранти
Хм .. не могу найти код, который я использовал тогда. Тем не менее, я нашел это: prosauce.org/blog/2010/08/…
Hiranthi
Я установил Better WP Security по другой причине, но оказалось, что у него есть возможность заставить все запросы страниц (передний и задний) проходить через SSL.
Ян Данн
1
Лучшим решением будет то, которое не использует плагин IMHO. Таким образом, каждый запрос не должен быть проанализирован плагином.
captainblack
3

Я столкнулся с той же проблемой: в многосайтовом WordPress нет ни параметра, ни параметра, определяющего, является ли домен сайта HTTP или HTTPS. Даже после замены всех вхождений в базе данных, посетитель сайта все равно может войти на сайт и перемещаться по нему по HTTP, без перенаправления на HTTPS.

Следующее простое решение сработало для меня: я добавил это mod_rewriteправило в свой файл .htaccess, прямо перед конкретными правилами переписывания WordPress.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Поскольку это правило не определяет конкретный домен, оно идеально подходит для нужд многосайтового WordPress.

Я нашел это правило в следующей теме: /programming/4398951/force-ssl-https-using-htaccess-and-mod-rewrite

Manu
источник
Этот тип решения отлично подходит для мультисайта с протоколом гомогенизации. Если вы хотите, чтобы в многосайтовой сети сочетались сайты SSL и не-SSL, все усложнялось. Очень сложно.
CC
Действительно, моим контекстом была сеть, в которой я переключил все сайты на SSL одновременно.
Ману
Помещение этого прежде, чем определенные правила WordPress решили это для меня. Спасибо - это решение заняло у меня некоторое время, чтобы найти.
bastelflp