.htaccess https redirect

Può capitare di dover forzare tutte le chiamate http in https per un sito.

Un modo molto pulito e semplice per farlo è modificare il file .htaccess presente nella root del proprio sito e ottenere un https redirect via .htaccess.

E’ necessario modificare il file .htaccess in modo che contenga le seguenti linee di codice

<IfModule mod_rewrite.c>
RewriteEngine on
 #FORCING HTTPS FOR ALL HTTP REQUESTS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Se è già stata creata una regola di rewrite (RewriteEngine on), sarebbe opportuno inserire questa come prima.

Spero queste informazioni tornino utili.

  • Alessandro Bacchini

    Ho una domanda per risolvere un mio problema.

    La mia necessità è quella di eseguire un redirect da http://www.sitouno.it verso un https://www.sitodue.it ma l’utente finale deve vedere solo http://www.sitouno.it – Siccome potrebbe sfuggire faccio notare che SITO UNO è HTTP e SITO DUE è un HTTPS.

    Ho posto la domanda ad un paio di esperti ma mi dicono che non si può fare. Chiedo se avete soluzioni da proporre. Grazie

    P.S. io di mestiere faccio altro ma se avete suggerimenti molto tecnici
    ed elaborati non c’e’ problema….I vostri suggerimenti verranno inoltrati
    a persone esperte che credo capiranno il nostro linguaggio.

    Altra cosa: Non ponete limiti nelle soluzioni tanto io sono cliente di TOPHOST, ARUBA e possegg

    o uno SPAZIO in affitto in CLOUD quindi i miei siti girano su OVH. GRAZIE

    • Ciao Alessandro,

      grazie per aver scritto.

      Puoi trovare maggiori dettagli in questo articolo del mio blog

      Intanto però ti scrivo il codice che secondo me fa al caso tuo:

      In questa modo, gli stiamo dicendo:
      guarda caro .htaccess tutte le richieste che ti arrivano e non sono nella forma che desidero (ovvero a https://www.miosito.it – riga 2),
      devono essere redirette a https://www.miosito.it.

      Ti consiglio di dare uno sguardo veloce all’articolo Default domain con .htaccess per maggiori dettagli.

    • gik000

      Ciao, scusa il ritardo nella risposta, ma il blog aveva un problema al plugin dei commenti.

      Ad ogni modo, nonostante creda che tu abbia già risolto, ti rispondo lo stesso perché magari la cosa può servire a qualcun altro.

      Se ti trovi sulla stessa macchina puoi fare quello che vuoi, con virtual host e PHP o anche senza scomodare queste cose, con un semplice e ben scritto file .htaccess.

      Se invece i due “ambienti” non si trovano sulla stessa macchina, allora la vedo dura.

      L’unico modo che mi sovviene per una soluzione accettabile è il seguente:
      1) Puntare i DNS di entrambi ad un’unica macchina
      2) Via htaccess fare sì che venga gestito il dominio “preferito” (quello https a quanto ho capito)

      e comunque in questo caso vedresti il dominio cambiare sulla address bar.