El plan de Dan Posted November 27, 2012 Share Posted November 27, 2012 (edited) Buenas tardes, queridos compañeros: Tengo un problema que me trae de cabeza desde hace varias semanas. Ya casi tengo a punto la web de Drip&Fresh. Versión 1.5.2 de Prestashop usando el theme Leo Bike de LeoThemes. Este theme me ha dado algún que otro problema porque el autor lo adaptó en seguida, nada más salir la versión 1.5, con lo cual no me extrañaría que tenga alguna incompatibilidad con ciertas funcionalidades como las URL, pero por otra parte espero que no sea así. Ya he hecho todo tipo de combinaciones con la configuración de las URLs y el rendimiento en el backoffice, regenerando siempre las imágenes cada vez que cambio la configuración, y nunca logro que me aparezcan las URL amigables en la barra de dirección. Cada producto y cada páginas del CMS tiene su título amigable, pero a la hora de la verdad esos enlaces no están funcionando. Os adjunto también el contenido del .htaccess, por si fuera algo que yo no pillo. No soy experta en muchas cosas, ya sabéis. Si alguno veis el fallo que yo no encuentro, agradecería que me indiquéis qué tengo que hacer más o menos. No me gustaría dejar así la web, a nivel de SEO queda horrible. Ahí va el contenido del htaccess. Como veréis no se ven tampoco las imágenes a pesar de que las he regenerado: # URL rewriting module activation RewriteEngine on RewriteCond %{REQUEST_METHOD} !^(TRACE|TRACK|GET|POST|HEAD)$ RewriteRule .* - [F] RewriteBase / Options +FollowSymLinks # URL rewriting rules RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$2$4 [L,E] RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ product.php?id_product=$1$3 [L,E] RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ category.php?id_category=$1 [QSA,L,E] RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ cms.php?id_cms=$1 [QSA,L,E] RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ supplier.php?id_supplier=$1$3 [QSA,L,E] RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ manufacturer.php?id_manufacturer=$1$3 [QSA,L,E] # Catch 404 errors ErrorDocument 404 /404.php # ~~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> # Disable Multiviews Options -Multiviews RewriteEngine on RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule . - [E=REWRITEBASE:/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^.*$ - [NC,L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" </IfModule> FileETag INode MTime Size <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> #If rewrite mod isn't enabled ErrorDocument 404 /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 ¿Alguna idea? Ya he leído mucho sobre URL amigables y no encuentro la solución... ¡Gracias de nuevo! Edited November 28, 2012 by claramaria (see edit history) Link to comment Share on other sites More sharing options...
El plan de Dan Posted November 28, 2012 Author Share Posted November 28, 2012 Gracias, por tu atención, Statictic... Has atinado porque las URL por fin son realmente amigables... ahora el tema es que las imágenes siguen sin verse, pero estamos más cerquita de la solución definitiva. A mí lo que se me hace raro, si abres las rutas de las imágenes, es que corresponden a rutas inexistentes, como si estuvieran en directorios que no están, no logro averiguar cómo se apaña... ¿Tendré que hacer algo de esto, que está al final de la pestaña de Imágenes del backoffice, o no tiene nada que ver? Usted puede optar por mantener sus imágenes almacenadas en el sistema anterior - lo cual no supone ningún problema. También puede decidir mover las imágenes en el nuevo sistema de almacenamiento: en este caso, haga clic en \"Mover imágenes\" botón de abajo. Por favor, sea paciente, esto puede tomar varios minutos. Después de mover todas las imágenes de sus productos, para un mejor rendimiento, ajuste la opción \"Usar la imagen heredada de sistema de archivos\" opción antes de \"No\". Link to comment Share on other sites More sharing options...
jesa Posted November 28, 2012 Share Posted November 28, 2012 Hola claramaria, lo que comentas de mover las imágenes es porque las habéis movido? Yo la verdad que nunca he usado esa opción y siempre las he dejado donde están. En cuanto al problema, supongo que habrás realizado el desarrollo en local y después se han subido los fuentes verdad? A mi en una ocasión me ocurrió algo parecido y el problema estaba en que en la bbdd no se había actualizado la tabla que relaciona las imágenes con los productos. Link to comment Share on other sites More sharing options...
El plan de Dan Posted November 28, 2012 Author Share Posted November 28, 2012 Gracias por tu respuesta, jesa. La verdad es que ni he movido las imágenes ni he desarrollado la tienda en local, lleva en el servidor de Loading todo el tiempo. Sé que a otra gente le ha pasado exactamente lo que a mí con las imágenes, pero no me valen sus soluciones (al menos lo que yo he leído), es lo que tiene. ¿Cómo se hace eso de relacionar las imágenes con los productos en la base de datos? Puede que vayas por buen camino, ya que los thumbs de las categorías, por ejemplo, sí los veo. Link to comment Share on other sites More sharing options...
jesa Posted November 28, 2012 Share Posted November 28, 2012 En base de datos tienes unas tablas ps_image, ps_image_lang, ps_image_shop y ps_image_type. En principio en ps_image tienes que tener la relación entre el id de la imagen y el id del producto, yo en su día tenía una tienda en producción y al tener que subir unos cambios me dio este error. Al generarse el nombre de las imágenes con el id del producto pensé que no hacía falta, pero sí, hay que relacionarlas en bbdd. De todos modos, si lo habéis tenido siempre en ese entorno, o se han vaciado tablas o tampoco tendría mucho sentido. Link to comment Share on other sites More sharing options...
El plan de Dan Posted November 28, 2012 Author Share Posted November 28, 2012 Buenas, reviza los tipos de imágenes en la BO y contrastalos con los que la plantilla muestra... Saludos ¿Podrías concretar un poco más qué quieres decir con los tipos de imágenes? SI te refieres al formato, no es el problema... Link to comment Share on other sites More sharing options...
jesa Posted November 28, 2012 Share Posted November 28, 2012 Supongo que statictic se refiere a los tamaños de imagenes que se definen en el BO para las imágenes, concretamente se almacenan en ps_image_type y es todo el tema de los tamaños. Link to comment Share on other sites More sharing options...
El plan de Dan Posted November 28, 2012 Author Share Posted November 28, 2012 Si son los tamaños coinciden perfectamente, lo único que ha cambiado es la URL que se ha regenerado con el nuevo htaccess. Estoy pensando, ¿hay algún modo en que pueda dejar las imágenes como estaban con el anterior .htaccess? Quizá así no den problemas... Sigo mirando qué puede ser... Link to comment Share on other sites More sharing options...
El plan de Dan Posted November 28, 2012 Author Share Posted November 28, 2012 (edited) ¡Ya lo tengo! He copiado la parte del htaccess original que se refería a las imágenes, tenía un par de renglones más y ahora las imágenes sí se ven, ni siquiera he tenido que regenerarlas. Tengo por fin las URL amigables y las imágenes funcionando correctamente, ¡mil gracias, chicos! os debo a los dos un buen favor! Me habéis dado las pistas y ayudado a solucionarlo Copio el .htaccess completo, sólo hay 2-3 líneas más en la parte #images: # ~~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> # Disable Multiviews Options -Multiviews RewriteEngine on RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule . - [E=REWRITEBASE:/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ 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} ^dripandfresh.es$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^.*$ - [NC,L] RewriteCond %{HTTP_HOST} ^dripandfresh.es$ RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" </IfModule> FileETag INode MTime Size <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> #If rewrite mod isn't enabled ErrorDocument 404 /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 Edited November 28, 2012 by claramaria (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts