Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2011, 03:52
jhaviro
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: de https a http y https selectivo

He solucionado uno de mis problemas y lo comparto con vosotros.

He conseguido que dentro de la tienda Oscommerce 2.3.1, solo algunas URLS se dirijan por SSL...
Esto deberia ocurrir automaticamente ya que al instalar el SSL solo deberia activar la parte de compra y no la del catalogo, sin embargo, bien porque tenia implementado el modulo de SEO (ultra 5.0) o porque sencillamente, no funcionaba, el caso es que no estaba dispuesto a dejarlo asi:

No ha sido complicado hacerlo:

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/tienda/shopping.*$
RewriteCond %{REQUEST_URI} !^/tienda/login.*$
RewriteCond %{REQUEST_URI} !^/tienda/account.*$
RewriteCond %{REQUEST_URI} !^/tienda/address.*$
RewriteCond %{REQUEST_URI} !^/tienda/checkout.*$
RewriteCond %{REQUEST_URI} !^/tienda/admin/?.*$

RewriteRule ^(.*)$ http://www.miweb.es/tienda/$1 [R=301,L]

Con esto he conseguido que todo, salvo el catalogo funcione por SSL con SEO implementado.
Explico (no se demasiado de esto asi que si me confundo agradezco la correccion):

crear un htaccess (si no tienes) DENTRO del directorio tienda

La primera linea activa en Rewrite (vigilar que solo exista una linea asi)
Segunda linea activo rewriteCond para https

Todas las lineas "RewriteCond %{REQUEST_URI}" lo que hacen es añadir URLs hacia SSL (https)
por ejemplo:
RewriteCond %{REQUEST_URI} !^/tienda/shopping.*$
traduciendolo para "mi":
todas aquellas URL que esten dentro de "tiendas/ y contengan "shopping"
dentro de la direccion, me la pasas por https.

Asi, se pueden añadir tantas como se crea necesario.

La ultima," RewriteRule ^(.*)$ http://www.miweb.es/tienda/$1 [R=301,L]" creo una regla fija (con el 301) para que el resto de la web (catalogo) funcione por http normal

En cuanto al otro problema encontre una solucion pero a mi, particularmente no mve vale.
La cosa es que al salir de HTTPS desde oscomerce hacia el directorio raiz del sitio, la web general seguia por SSL y me daba advertencias de contenidos mixtos cifrados y sin cifrar

con aladir otro htacces en el directorio raiz y obligar a que la web fuese por http normal habria sido suficiente:

# redireccion directa solo para tienda
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/tiedda/?.*$
RewriteRule ^(.*)$ http://www.miweb.es/$1 [R=301,L]

con esas lineas oblico a que "miweb" funcione por htttp normal y tienda por https... Con eso habria servido, el problema es que mi web normal tambien tiene formularios que deben funcionar por https y de esa manera dejaron de funcionar.

Por ello, sigo buscando una solucion.

Se podria pensar que puedo hacer lo mismo que hice dentro de "tienda", sin embargo no es posible ya que los formularios no son "paginas" concretas sino parte del codigo y no se como hacer referencia a ellos para hacer que la web funcione por http normal y los formularios por https....

En fin, espero haber ayudado a alguien y sigo esperando una ayudita, por mi parte tambien estoy en la investigacion, en cuanto sepa algo lo publicare y compartire.

Gracias.