Jump to content

(Solcuionado) Url amigables, expresiones regulares prestashop


apositivo

Recommended Posts

Buenas, saludos a toda la comunidad, presento mi siguiente caso, al activar las URL amigables

 

tengo en el htacces lo siguiente

# Images

# nose ve esta imagen --> http://midominio.com/presta1_5/1281-home/Breakin-Em-In-7.jpg
# si  se ve esta imagen al tener los URL amigables desactivados----> http://midominio.com/presta1_5/img/p//2/2-1281-home.jpg


mi pregunta seria, como construyo la expresion regular que me permita visualizar la imagen al activar las URL AMIGABLES ?

he intentado con lo siguiente : 


RewriteCond %{HTTP_HOST} ^midominio.com$

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)(\-[_a-zA-Z0-9-]*)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p//$2/$2-$1-home.jpg[L]

# o puede ser asi ???? --> 
RewriteRule ^img/p//([a-z])-home/(\-[_a-zA-Z0-9-]*).jpg$ img/p//$2/$2-$1-home.jpg

he intentado con eso y las imagenes nada que se muestran

 

version de prestashop 1.5.5.

 

Edited by apositivo (see edit history)
Link to comment
Share on other sites

Ese .htaccess en principio no es correcto.

 

En Prestashop 1.5, como dice Cotoko, cuando en la pestaña Preferencias -> SEO y URLS vuelves activar las urls amigables (Desactivar y volver activar las urls amigables), se te regenera el .htaccess de forma automatica, en Prestashop 1.4, tenias que ir a la pestaña Herramientas -> Generadores.

 

Si tras desactivar y volver activar las urls amigables, el .htaccess es el mismo, ya el problema. podria ser de permisos por el tema de no poder reescribir el fichero.

Link to comment
Share on other sites

hola COTOKO , hola nadie, gracias por  escribir, les explico un poco, en realidad esas son solo lineas de mi .htaccess, (ya lo voy a colocar completo).

 

el tema es que yo modifique la manera en que prestashop agrega las imagenes como lo muestro en las figuras anexas del siguiente post

 

http://www.prestashop.com/forums/topic/278502-aportes-webadultos-y-migracion-prestashop-131-y-155/

 

(

en lo particular no me gusta naaaaaaaaaaaada la nueva manera de guardar las imagenes de prestashop 1.5.5, razon por la cual la modifique para guardar de la siguiente manera:

 

en la carpeta img/p creo una carpeta con el id_product y dentro de ella las imagenes correspondientes al articulo.( se anexa imagen cada carpeta con su id product.jpg)

 

para esto modifico el archivo  /classes/Image.php  (se anexa)classes Image.php

y el archivo que genera los links por la nueva manera de guardar las imagenes /classes/Link.php (se anexa)classes Link.php

 

)

 

http://www.prestashop.com/forums/uploads/monthly_09_2013/post-341341-0-73599400-1380570433.jpg

 

http://www.prestashop.com/forums/uploads/monthly_09_2013/post-341341-0-87121200-1380570435.jpg

 

 

entonces la idea seria construir la nueva expresion regular " A MANO" con respecto a la nueva forma de mostrar las imagenes .

 

aqui les coloco mi .htaccess generado por prestashop

 

 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule . - [E=REWRITEBASE:/presta1_5/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^pornoshetero.com$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule . - [E=REWRITEBASE:/presta1_5/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /presta1_5/index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again


 

Link to comment
Share on other sites

nose ve esta imagen --> http://midominio.com/presta1_5/1281-home/Breakin-Em-In-7.jpg
 

si  se ve esta imagen al tener los URL amigables desactivados----> http://midominio.com/presta1_5/img/p//2/2-1281-home.jpg

 

tengo que escribir una regla que me transforme todo lo que llegue por  http://midominio.com/presta1_5/img/p//2/2-1281-home.jpg  a http://midominio.com/presta1_5/1281-home/Breakin-Em-In-7.jpg , pero de verdad  que las expresiones regulares me llevan loco jejeje

Link to comment
Share on other sites

probe cableando la condicion y funciona.

RewriteCond %{HTTP_HOST} ^midominio.com$
RewriteRule ^1281-home/Breakin-Em-In-7.jpg$ %{ENV:REWRITEBASE}img/p//2/2-1281-home.jpg [L]

lo que no entiendo es como escribir la condiciona con el valor "2" ya que en el URL amigable este valor no se ve y no se  en que orden llegan las variables

Link to comment
Share on other sites

sigo con esto . . . .

#IMAGEN CON URL AMIGABLES LA CUAL NO SE MUESTRA http://midominio.com/presta1_5/2/1281-home/Breakin-Em-In-7.jpg

#AQUI LA IMAGEN SE MUESTRA CORRECTAMENTE http://midominio.com/presta1_5/img/p//2/2-1281-home.jpg


ESTOY tratando de construir la regla, pero no  doy con ella....
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9])/([0-9])-home/(\-[_a-zA-Z0-9-]*)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1-$2-home.jpg [L]
Link to comment
Share on other sites

solucionado....

 

tomado de :

 

http://forums.phpfreaks.com/topic/155511-solved-htaccess-and-my-images-folder/

 

 

la respuesta es :

 

Dont use a rewrite for images. You need to set the path correctly in the img src element. if your images folder is under the root
<img src="/images/image.jpg" />

not
<img src="images/image.jpg" />

 

 

no usar URL amigables para las imagenes ..... bueno.. ni modo . . .

Link to comment
Share on other sites

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