Zainstalowałem MultiSite z adresem URL ustawionym jako http://example.com , ale teraz chcę zmusić wszystkie żądania do przejścia przez HTTPS, więc próbuję zmienić adres URL na https://example.com . Przejrzałem bazę danych i zaktualizowałem wszystkie wartości siteurl
i home
, aby mieć https , ale witryna nadal ładuje się przez HTTP, zamiast przekierowywać do HTTPS.
Wiem, że mogłem skonfigurować niektóre reguły htaccess, ale jest to podatne na błędy. W zwykłych instalacjach WordPress automatycznie przekieruje wszystkie żądania do kanonicznych adresów URL zdefiniowanych w ustawieniach siteurl
i home
, więc zakładam, że MultiSite też.
siteurl
ihome
. Nawet jeśli były dostępne, istnieje kilka powodów, dla których używanie wtyczki jest złym pomysłem, gdy można po prostu ustawić wartość konfiguracji (bezpieczeństwo, wydajność itp.). Jestem też całkiem pewien, że nie ma znaczenia, czy certyfikat SSL jest już dostępny, czy nie. WordPress nie sprawdzi, czy kiedy określa, jaki jest kanoniczny adres URL.Napotkałem ten sam problem: w przypadku wielu witryn WordPress nie ma opcji ani ustawienia, które określa, czy domeną witryny jest HTTP czy HTTPS. Nawet po zastąpieniu wszystkich wystąpień w bazie danych, odwiedzający witrynę może nadal wchodzić i poruszać się po stronie w HTTP, bez przekierowywania do HTTPS.
Działa dla mnie następujące proste rozwiązanie: dodałem tę
mod_rewrite
regułę do mojego pliku .htaccess, tuż przed regułami przepisywania specyficznymi dla WordPress.Ponieważ ta reguła nie definiuje konkretnej domeny, jest idealna na potrzeby wielu witryn WordPress.
Znalazłem tę regułę w następującym wątku: /programming/4398951/force-ssl-https-using-htaccess-and-mod-rewrite
źródło