Foros del Web » Administración de Sistemas » Shared Hosting y VPS »

Problemas con Virsualhost redirect

Estas en el tema de Problemas con Virsualhost redirect en el foro de Shared Hosting y VPS en Foros del Web. Buenas noches tiempo sin escribir por aqui, tengo una duda espero me puedan ayudar. Necesito forzar todas las url de un sitio a cargar por ...
  #1 (permalink)  
Antiguo 06/11/2019, 21:27
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 287
Antigüedad: 7 años, 5 meses
Puntos: 8
Problemas con Virsualhost redirect

Buenas noches tiempo sin escribir por aqui, tengo una duda espero me puedan ayudar.

Necesito forzar todas las url de un sitio a cargar por https pero necesito que solo una pueda cargar por http y no por https, el problema es que todas me cargar por https.

Aqui les muestro lo que tengo en codigo hasta ahora:

Código Apache:
Ver original
  1. <VirtualHost _default_:80>
  2.   ServerName www.dominio.com
  3.   ServerAlias dominio.com
  4.   Redirect permanent / https://www.dominio.com/
  5.  
  6.   Redirect 301 /https://dominio.com/json http://dominio.com/json
  7.   Redirect permanent /https://dominio.comr/json http://dominio.com/json

De ante mano muchas gracias
  #2 (permalink)  
Antiguo 07/11/2019, 08:23
 
Fecha de Ingreso: abril-2011
Mensajes: 40
Antigüedad: 8 años, 7 meses
Puntos: 5
Respuesta: Problemas con Virsualhost redirect

No te lo compliques. Es mucho más fácil con rewrites:

Código Apache:
Ver original
  1. RewriteEngine On
  2.  
  3. RewriteCond %{HTTPS} =off
  4. RewriteCond %{REQUEST_URI} !^/json/?
  5. RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]    
  6.  
  7. RewriteCond %{HTTPS} =on
  8. RewriteCond %{REQUEST_URI} ^/json/?
  9. RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]

El primer bloque redirige de http a https siempre que la ruta no sea /json.
El segundo bloque redirige de https a http solo en el caso de que la ruta sea /json.


Última edición por prueba230683; 07/11/2019 a las 11:47 Razón: corrección



La zona horaria es GMT -6. Ahora son las 22:02.