Estoy tratando de atrapar el tráfico https al frente de mi sitio para:

https://www.domain.com

se redirige a:

http://www.domain.com

Sin embargo, otros subdominios debe ser redirigido a otra parte. La mayor parte de todo esto es de trabajo, aparte del https -> redirección http. He aquí mi .htaccess en el momento:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

RewriteCond "%{HTTP_HOST}" !^www.* [NC]
RewriteCond "%{HTTP_HOST}" ^([^\.]+).*$
RewriteRule ^(.*)$ https://secure.domain.com/a/login/%1 [L,R=301]

Parece que este bit:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

no funciona como me imagino. De hecho no parece redirigir a todos.

En otro subdirectorio tengo el contrario, en efecto, que funciona bien:

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

así que mi forma de pensar es la opuesta a la que debería haber hecho el trabajo, pero aparentemente no.

Alguna idea alguien?

EDITAR

Estoy pensando que esto podría tener algo que ver con el hecho de que en el servidor hay un certificado ssl que el ISP utiliza para proporcionar un genérico https dirección a su sitio. Por ejemplo, si usted tiene un sitio web en:

http://www.yourdomain.com

Puede acceder al mismo contenido/cuenta de hosting a través de https mediante:

https://server100.securedomain.com/yourdomain.com

No podía ser, porque cuando yo escriba en https en el navegador me sirve el genérico cert y ya que no coincide con el nombre de dominio que he entrado yo estoy recibiendo una advertencia de seguridad sobre un que no son de confianza cert, que es el de detener la redirección?

EDITAR 2

Mirando el servidor de encabezados creo que estoy en lo correcto con mi hipótesis anterior. El servidor devuelve:

The host name in the certificate is invalid or does not match

Que esto sería detener la redirección?

InformationsquelleAutor Ira Rainey | 2010-06-05

3 Comentarios

  1. 4

    Di cuenta de que nunca se cierra esta apagado, para el beneficio de cualquier otra persona tratando de resolver esto es lo que voy ahora.

    En resumen, la captura de todos los https -> http redirección de que yo estaba tratando de lograr no funciona porque el servidor está sirviendo el cert primera que está generando luego de la advertencia de seguridad. Esto sucede antes de que la redirección por razones obvias de seguridad, de ahí que la redirección no funciona una que yo quería.

    Espero que ayude a alguien más.

    • cierto… para los que han server sin certificado ssl, debe aceptar el mensaje de advertencia en la página web. A continuación, siguiente código de redirección de https a http: <br/> RewriteCond %{HTTP_HOST} xyz\.co.uk$ [NC]<br/> RewriteCond %{HTTPS} on<br/> RewriteRule ^([^/]+)?$ http://%{HTTP_HOST}/$1 [R=301,L] <br/>
    • Así que no hay manera de evitar que la pantalla de advertencia? No es posible forzar http siempre para todas las páginas y evitar que la página de advertencia?
  2. 0

    Si «no parece redirigir a todos» mi conjetura es que

    RewriteCond %{HTTPS} on
    

    falla por alguna razón. Vi esto en un ejemplo:

    RewriteCond %{SERVER_PORT} ^443$ [OR]
    RewriteCond %{HTTPS} =on
    

    Tal vez usted necesita tanto?

    • Gracias por la respuesta, pero que no funciona bien.
  3. 0

    Sé que éste es un hilo viejo, pero acabo de encontrar la respuesta y puede ayudar a alguien en el futuro:

    asegúrese de que los virtual hosts de archivos para el servidor ssl tiene:

    AllowOverride All
    

    esto es probable que en su defecto máquina virtual del servidor de archivos por lo que se puede hacer desde http

    • Esto, simplemente, permite el análisis de la .htaccess archivo. No tiene HTTPS/SSL lógica-y-de-sí.

Dejar respuesta

Please enter your comment!
Please enter your name here