jotraverso Posted April 12, 2013 Share Posted April 12, 2013 (edited) Buenos días, Me llamo Jorge, estoy comenzando con Prestashop y tras haber dedicado unas cuantas horas (más de 10) a buscar soluciones a este problema que se me plantea he decidido preguntar en el Foro, ya que aunque hay varios posts relacionados con esto, son para versiones 1.4 y algunas tratan la 1.5.3 pero no he conseguido resolverlo. Os cuento: Tengo una instalación Prestashop 1.5.4.0 out-of-the-box, instalada en el directorio /ps de mi apache, y al activar las URL Amigables se genera el fichero .htaccess con reglas para la redirección de las imágenes principalmente, pero el front office no funciona, me explico: Cuando tengo varios idiomas activados, accedo a 192.168.0.105/ps/ y me redirecciona con código 301 a 192.168.0.105/ps/es/ y me sale la página de 404 de apache, no la de prestashop (así que parece que la regla de redirección a 404 no se llega a ejecutar). Cuando dejo activado sólo el idioma español, me carga la página principal, pero no me carga ninguna imagen de artículo ni tampoco puedo acceder a ellos, ni categoría, ni ninguna página CMS. Espero que alguien pueda echarme una mano, os dejo aquí el contenido del .htaccess antes y después de activar la "URL amigables" y capturas de la config SEO. Muchas gracias por adelantado y saludos!! Contenido de .htaccess antes de activar "URL Amigables" # ~~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} ^192.168.0.105$ RewriteRule . - [E=REWRITEBASE:/ps/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # AlphaImageLoader for IE and fancybox RewriteCond %{HTTP_HOST} ^192.168.0.105$ RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L] </IfModule>#If rewrite mod isn't enabled ErrorDocument 404 /ps/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 Config de SEO Contenido .htaccess después de activar "URL Amigables" # ~~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} ^192.168.0.105$ RewriteRule . - [E=REWRITEBASE:/ps/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^192.168.0.105$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ 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} ^192.168.0.105$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^192.168.0.105$ RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # AlphaImageLoader for IE and fancybox RewriteCond %{HTTP_HOST} ^192.168.0.105$ 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} ^192.168.0.105$ RewriteRule ^.*$ - [NC,L] RewriteCond %{HTTP_HOST} ^192.168.0.105$ RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> #If rewrite mod isn't enabled ErrorDocument 404 /ps/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 Config de SEO Edited April 12, 2013 by jotraverso (see edit history) Link to comment Share on other sites More sharing options...
jgbautista Posted April 12, 2013 Share Posted April 12, 2013 Yo lo he resuelto de la siguiente forma: En el Httpd.conf de apache debéis buscar la etiqueta directory perteneciente a vuestro proyecto, en mi caso apunta a todos los proyectos desplegados en mi apache (<Directory "D:/Apache2.2/htdocs">), y dentro de esta etiqueta cambiáis esto: AllowOverride None por esto: AllowOverride All Espero que os sea de ayuda. 1 Link to comment Share on other sites More sharing options...
jotraverso Posted April 12, 2013 Author Share Posted April 12, 2013 Gracias !! Esto me ha solucionado el problema. Yo lo tengo en Linux, pero eso que me has dicho me ha hecho revisar la configuración del apache, en la que he añadido lo siguiente que me ha solucionado el problema [...] <Directory "/var/www/ps"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 1 Link to comment Share on other sites More sharing options...
Recommended Posts