¿Cómo redirigir HTTP a HTTPS en el mismo httpd?

10

Esto es lo que tengo:

  • CentOS 5.4 (32 bits)
  • instalado Apache httpd (Versión del servidor: Apache / 2.2.11 (Unix))
  • mod_rewrite ya presenta

Pregunta: ¿cómo redirigir http://site.com simple a https://site.com que no utiliza VirtualHost define?

PD: trató de encontrar en respuestas posteriores sobre SF, pero no encuentra una buena solución.

Gracias.

mosg
fuente

Respuestas:

9
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Ernest Mueller
fuente
2
RewriteRule ^(.*) https://%{HTTP_HOST}$1Tiene más sentido para mí.
cregox
¿No será ese bucle infinito en ti?
Ernest Mueller
No, solo lo probé. Incluso es como se aconseja en los documentos : mira al final.
cregox
1
Obtengo un bucle infinito usando Apache 2.4.10, que se implementa en Heroku, cuando inserto esos comandos en mi .htaccess. Y la variante sugerida por Cawas extrañamente rompe mi URL. He probado un conjunto diferente de comandos: RewriteCond %{HTTP:X-Forwarded-Proto} !httpsy RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI}, que funciona en Chrome y Firefox, pero falla en Safari y Opera. Curiosamente, si tomo las tres líneas anteriores y omito RewriteEngine On, ya no obtengo el bucle infinito, pero todavía falla en Safari y Opera (y funciona en Chrome y Firefox).
Purplejacket
2

Puede usar mod_alias y Redirect según el directorio. El documento vinculado identifica detalles adicionales.

<Directory /path/to/site>
   Redirect /service https://foo2.example.com/service 
</Directory>
Warner
fuente