Jump to content

( Solucionado )Redireccion 301 en multitienda


GRC

Recommended Posts

Hola a todos,

me encuentro con el siguiente problema.  Tengo que hacer una redireccion 301 en la tienda principal de mi Multitienda, de sin www a con www. Pero claro, no se donde poner el redireccionamiento para que solo afecte al dominio en cuestion, es decir a la tienda 1, y no a la otra. He probado varias formulas y en varias posiciones y no me hace bien el redireccionamiento. Alguien puede ayudarme?

 

El .htacces sale asi;

 

<IfModule mod_rewrite.c>
 
# Disable Multiviews
Options -Multiviews
 
RewriteEngine on
 
RewriteRule ^api/?(.*)$ webservice/dispatcher.php?url=$1 [QSA,L]
 
# Images
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
 
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^tienda 1.com$
RewriteRule ^.*$ index.php [NC,L]
# Images
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^tienda 2.es$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
 
Edited by GRC (see edit history)
Link to comment
Share on other sites

Hola,

a ver si alguien puede ayudarme con esto. Tengo que redireccionar de sin www a con www, una de las tiendas de un multitienda. Es decir, tengo http//:tienda1.com que es la principal y http//: tienda 2.com que es un alias.

Pues quiero redireccionar la tienda 1 a http://www.tienda1.com. he probado a poner la redireccion debajo de rewriteengineon y hno hace nada, y si la pongo debajo de la primera regla me sale un error "esta pagina contiene un bucle de redireccionamiento".

 

  1. <IfModule mod_rewrite.c>
  2.  
  3. # Disable Multiviews
  4. Options -Multiviews
  5.  
  6. RewriteEngine on
  7.  
  8. RewriteRule ^api/?(.*)$ webservice/dispatcher.php?url=$1 [QSA,L]
  9.  
  10. # Images
  11. RewriteCond %{HTTP_HOST} ^tienda1.com$
  12. RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
  13. RewriteCond %{HTTP_HOST} ^tienda1.com$
  14. RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
  15. RewriteCond %{HTTP_HOST} ^tienda1.com$
  16. RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
  17. $5$6.jpg [L]
  18.  
  19. # Dispatcher
  20. RewriteCond %{REQUEST_FILENAME} -s [OR]
  21. RewriteCond %{REQUEST_FILENAME} -l [OR]
  22. RewriteCond %{REQUEST_FILENAME} -d
  23. RewriteCond %{HTTP_HOST} ^tienda1.com$
  24. RewriteRule ^.*$ - [NC,L]
  25. RewriteCond %{HTTP_HOST} ^tienda1.com$
  26. RewriteRule ^.*$ index.php [NC,L]
  27. # Images
  28. RewriteCond %{HTTP_HOST} ^tienda2.es$
  29. RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
  30. RewriteCond %{HTTP_HOST} ^tienda2.es$
  31. RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
  32. RewriteCond %{HTTP_HOST} ^tienda2.es$
  33. RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
 
  1.  
  2.  
Link to comment
Share on other sites

Gracias Raul, pero lo he intentado y nada. Me da error al escribir la direccion.El navegador me avisa de que "esta pagina tien un bucle de redireccionamiento"

No se si lo pongo en el sitio adecuado por eso. Lo he insertado sin el "if module mod rewrite" por que ya lo tenia, auqnue no se si deberia dejarlo.

Habia quedado asi:

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  3. # Disable Multiviews
  4. Options -Multiviews
  5.  
  6. RewriteEngine on
  7.  
  8. RewriteRule ^api/?(.*)$ webservice/dispatcher.php?url=$1 [QSA,L]
  9.  
  10. # Images
  11. RewriteCond %{HTTP_HOST} ^tienda1.com$
  12. RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
  13. RewriteCond %{HTTP_HOST} ^tienda1.com$
  14. RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
  15. RewriteCond %{HTTP_HOST} ^tienda1.com$
  16. RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
  17. $5$6.jpg [L]
  18.  
  19. # Dispatcher
Edited by GRC (see edit history)
Link to comment
Share on other sites

Bueno, después de todo un dia perdido indagando el tema es bastante mas sencillo, por lo menos el problema al que hacia referencia al principio. Como redireccionar sin www a con www una o varias de las tiendas en multitienda.

La cuestion es que al configurar la multitienda, en "Parametros Avanzados/Multitienda", seleccionamos en el arbol multitienda a la izaquierda, elegimos la tienda que queremos cambiar,la veremos a la derecha, picamos en editar o directamente doble click, y se abren las opciones de URL. 

Abajo aparece la url que queremos que apareza. Si la escribimos con "www" aparecera con y si la escribimos sin pues sin. Entiendo que automaticamente hace un redireccionamiento 301 de la otra. Por eso cuando le añadia un redireccionamiento 301 en el htacces de forma manual, me decia que "esta pagina tienen un BUCLE de redireccionamiento." Ahora la cuestion es que al escribir sin www en la tienda 2 me dirige a con www en la tienda 1!!!!!! pero eso ya es otro problema. Voy a buscar...

 

Gracias de todas formas!

Link to comment
Share on other sites

Y solucionado del todo aplicando tu link Raul Martinez!! Gracias!!! ahora todo va perfecto..

 

Pero hay que ponerlo tal cual esta, en la cabecera del .htacces.

lo he puesto asi y va perfecto. Solucionado del todo !!!!

 

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
 
<IfModule mod_rewrite.c>
RewriteEngine on
 
RewriteRule ^api/?(.*)$ webservice/dispatcher.php?url=$1 [QSA,L]
 
  1. # Images
  2. RewriteCond %{HTTP_HOST} ^tienda1.com$
  3. RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3$4.jpg [L]
  4. RewriteCond %{HTTP_HOST} ^tienda1.com$
  5. RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ img/p/$1-$2$3.jpg [L]
  6. RewriteCond %{HTTP_HOST} ^tienda1.com$
  7. RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ img/p/$1/$1$2$3.jpg [L]
  8. $5$6.jpg [L]
 
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...