W backendie włączyłem opcję Użyj bezpiecznych adresów URL w interfejsie użytkownika . Ale użytkownicy nadal mogą odwiedzać moją witrynę za pomocą niezabezpieczonych adresów URL, z wyjątkiem stron kasy / konta.
Chcę wymusić bezpieczne adresy URL na wszystkich stronach. W tej chwili zmieniam niezabezpieczony podstawowy adres URL na „https: // ....”
Wydaje się, że działa. Jeśli użytkownicy używają HTTP, zostaną przekierowani na https. Ale zastanawiam się, czy to jest właściwy sposób, aby to zrobić. Jakieś skutki uboczne?
Odpowiedzi:
Domyślna odpowiedź brzmi: ustaw niezabezpieczony podstawowy adres URL na https: // w zależności od konfiguracji, wystarczy to do przekierowania, jeśli użytkownicy spróbują użyć http: //
Być może przekierowanie na poziomie serwera jest lepsze, ponieważ pozwala uniknąć wniosków przechodzących najpierw przez php.
A jeśli chcesz naprawdę idealnie bezpiecznego rozwiązania, powinieneś dodać swoją stronę na https://hstspreload.appspot.com/ . Ale ostrożnie, jeśli musisz zmienić certyfikat, może to powodować duże problemy. Pozwól swojemu Hosterowi dbać o tę część.
źródło
możesz to zrobić za pomocą .htaccess w apache. Użyj tych linii:
źródło
Dla każdego, kto natknie się na to (tak jak ja)
Nie używaj htaccess. Pod administratorem przejdź
Stores -> General -> Web and change -> Use Secure URLs on Storefront -> Yes and Use Secure URLs in Admin -> Yes
Nie ma potrzeby edytowania żadnych plików.
źródło
Wypróbowałem poprzednie rozwiązania i chociaż wydawały się działać, zablokowały mnie z panelu administracyjnego (nie do końca rozumiem powód).
Aby ponownie wejść do panelu administracyjnego, musiałem dostać się do phpmyadmin i dostać się do tabeli bazy danych core_config_data i zmienić obie ścieżki : web / secure / use_in_adminhtml i web / unsecure / base_url wracam do panelu administracyjnego. I nie zapomnij wyczyścić folderu pamięci podręcznej, jeśli musisz dokonać zmian w bazie danych ...
Zastosowałem więc następujące rozwiązanie .htaccess, które pozwoliło mi również zalogować się do administratora
Mam nadzieję, że to komuś pomoże
źródło
Większość podejść do .htaccess przekierowuje większość stron do domu, gdy jest dostępna przez http.
Przykład: http://www.mystore.com/productA.html => http://www.mystore.com/
zamiast https://www.mystore.com/productA.html
Rozwiązałem go za pomocą następującego przepisu .htaccess (oczywiście tylko Apache):
Zobacz źródło .
źródło