Przekierowanie ruchu na protokół https

Jeśli masz już aktywną usługę DV SSL lub zainstalowaną usługę SSL, a Twoja strona internetowa jest dostępna w przeglądarce za pośrednictwem bezpiecznego protokołu HTTPS pod Twoim adresem https://www.domenypolskie.pl, możesz ustawić automatyczne przekierowanie.
Witryna będzie wtedy dostępna tylko za pośrednictwem protokołu HTTPS, a cała komunikacja będzie szyfrowana. Dla aliasów domenowych nie ma możliwości wystawienia certyfikatu SSL w ramach usługi DV SSL. Możliwość aktywacji SSL dla aliasów domen występuje w przypadku dodatkowej usługi SSL.
 
Jeśli korzystasz z systemu CMS lub podobnych rozwiązań na swojej stronie internetowej (Wordpress, Joomla, Prestashop,...), to przekierowanie można zazwyczaj ustawić bezpośrednio z poziomu interfejsu administracyjnego.
Ustawienie przekierowania dla Wordpress opisujemy w artykule Zarządzanie Certyfikatem SSL - Hosting Wordpress.
 
Aby przyspieszyć przekierowanie, możesz również użyć pliku „.htaccess” na serwerach z systemem operacyjnym Linux lub pliku "web.config" na serwerach Windows.
 
Wyżej wymienione pliki można znaleźć na koncie FTP swojego hostingu w folderze „/www/”, jeśli Twoja witryna już z nich korzysta. Jeśli nie, plik musi zostać utworzony. Opisujemy tę procedurę poniżej w podpunkcie "Ustawianie przekierowania na https przy użyciu pliku .htaccess".
 
Skorzystaj z przykładowej konfiguracji poniżej, która musi zostać wstawiona do odpowiedniego pliku. W kodzie z przykładów wystarczy podmienić nazwę „www.domenypolskie.pl” na nazwę swojej domeny - z www lub bez www.

Przykład pliku .htaccess - przekierowanie na określoną domenę i dodanie www:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off [NC,OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.domenypolskie.pl%{REQUEST_URI} [L,R=301,QSA]

Przykład pliku .htaccess - przekierowanie zachowujące domenę/alias w adresie:
RewriteEngine O
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,QSA]

Przykładowy plik web.config do przekierowania tylko domeny głównej:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect to HTTPS" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                </conditions>
                <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration> 

Przykładowy plik web.config do przekierowania domeny głównej wraz z aliasami:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to HTTPS" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAny">
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          <add input="{HTTP_HOST}" pattern="^www.domenypolskie.pl$" negate="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="https://www.domenypolskie.pl/{R:1}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>
</configuration>

Ustawianie przekierowania na https przy użyciu pliku .htaccess

W przykładzie ustawiliśmy automatyczne przekierowanie http://www.forpsi.pl/ na adres https://www.forpsi.pl/ z wykorzystaniem pliku „.htaccess”, zgodnie z pierwszym przykładem.

Uwaga! Konieczne jest wgranie zawartości .htaccess zgodnej z aktualnie ustawioną wersją PHP!
 
Do instalacji będziemy potrzebować klienta FTP. Polecamy klienta FileZilla i edytor tekstu - możesz użyć np. Notepad++, który jest udostępniany bezpłatnie w języku polskim.
 
Nie zalecamy edytowania pliku „.htaccess” w Notatniku, jego format i kodowanie mogą ulec zmianie podczas zapisywania.
 
Po skonfigurowaniu połączenia FTP sprawdzimy, czy w folderze /www/ znajduje się plik „.htaccess”. Jeśli tak, pobieramy plik na lokalny dysk i edytujemy go w Notepad++. Reguły najlepiej umieścić na samym początku pliku, przed jakąkolwiek inną przechowywaną zawartością.
 
Jeśli plik nie istnieje, utwórz nowy plik w Notepad ++ za pomocą menu Plik -> Nowy.
 
Kopiujemy wszystkie trzy linie z pierwszego przykładu dla wersji PHP 5.x, 7.x i wklejamy je do Notepad++:
RewriteEngine On
RewriteCond %{HTTPS} off [NC]
RewriteRule (.*) https://www.domenypolskie.pl%{REQUEST_URI} [L,R=301,QSA]

Teraz w Notepad ++, w trzeciej linii, zmienimy przykładową nazwę „domenypolskie.pl” na „forpsi.pl”:

Zapisz zmodyfikowany plik za pomocą menu Plik -> Zapisz jako.
 
    w polu "Nazwa pliku" wpisujemy:
        .htaccess
    w polu "Zapisz jako typ" wybieramy:
        All types

Następnie zapisujemy plik w folderze na komputerze lokalnym:

Gotowy plik możemy wrzucić na konto FTP do folderu „/www/” lub nadpisać oryginalny plik, jeśli edytowaliśmy istniejący:

Wszystko powinno być gotowe i możemy przetestować w przeglądarce po wejściu w domenę bez protokołu HTTPS, czyli http://forpsi.pl, czy nastąpi przekierowanie na bezpieczny protokół HTTPS – adres URL ustawiony w pliku „.htaccess".
 
Do tego testu zalecamy korzystanie z „trybu incognito” przeglądarki, aby zawartość nie była ładowana z pamięci przeglądarki.
 
Jeśli masz ustawioną usługę SSL również dla subdomen, musisz wprowadzić te same ustawienia z odpowiednim adresem dla nich i przesłać plik „.htaccess” do ich katalogów głównych „/subdoms/nazwa_subdomeny/” na koncie FTP.
 
W Twojej witrynie może wystąpić problem polegający na tym, że niektóre treści (takie jak obrazy, javascript, style kaskadowe) zostaną załadowane przez HTTP, a Twoja przeglądarka wyświetli ostrzeżenie, że witryna nie jest w pełni bezpieczna.