Come reindirizzare HTTP a HTTPS sullo stesso httpd?


10

Ecco cosa ho:

  • CentOS 5.4 (32 bit)
  • httpd di Apache installato (versione del server: Apache / 2.2.11 (Unix))
  • mod_rewrite già presenta

Domanda: come reindirizzare il semplice http://site.com a https://site.com non utilizzando VirtualHost definisce?

PS: ho provato a trovare le risposte successive su SF, ma non trova una buona soluzione.

Grazie.

Risposte:


9
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

2
RewriteRule ^(.*) https://%{HTTP_HOST}$1ha più senso per me.
Cregox,

Quel ciclo infinito su di te?
Ernest Mueller

No, l'ho appena provato. È anche come è consigliato sotto i documenti - guarda alla fine.
cregox,

1
Ottengo un ciclo infinito usando Apache 2.4.10, distribuito su Heroku, quando inserisco quei comandi nel mio .htaccess. E la variante suggerita da Cawas stranamente modifica il mio URL. Ho provato un diverso set di comandi: RewriteCond %{HTTP:X-Forwarded-Proto} !httpse RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI}- che funziona su Chrome e Firefox, ma fallisce su Safari e Opera. È interessante notare che se prendo le tre righe sopra e ometto RewriteEngine Onnon ottengo più il ciclo infinito, ma fallisce ancora in Safari e Opera (e funziona in Chrome e Firefox).
Purplejacket,

2

È possibile utilizzare mod_alias e Redirect in base alla directory. Il documento collegato identifica ulteriori dettagli.

<Directory /path/to/site>
   Redirect /service https://foo2.example.com/service 
</Directory>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.