apositivo Posted November 27, 2013 Share Posted November 27, 2013 (edited) 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 November 28, 2013 by apositivo (see edit history) Link to comment Share on other sites More sharing options...
Rolige Posted November 27, 2013 Share Posted November 27, 2013 Desactiva y vuelve activar las url amigables, con eso el sistema debera generarte automaticamente el archivo .htaccess y posiblemente soluciones el problema. Saludos Link to comment Share on other sites More sharing options...
nadie Posted November 27, 2013 Share Posted November 27, 2013 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 More sharing options...
apositivo Posted November 27, 2013 Author Share Posted November 27, 2013 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 More sharing options...
apositivo Posted November 27, 2013 Author Share Posted November 27, 2013 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 More sharing options...
apositivo Posted November 27, 2013 Author Share Posted November 27, 2013 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 More sharing options...
apositivo Posted November 28, 2013 Author Share Posted November 28, 2013 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 More sharing options...
apositivo Posted November 28, 2013 Author Share Posted November 28, 2013 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 More sharing options...
Recommended Posts