gienini Posted November 16, 2012 Share Posted November 16, 2012 (edited) Hola amigos, estoy llevando a cabo mi primera instalacion de PrestaShop y he estado trasteando con sus opciones durante un tiempo. Ayer me propuse activar las URL amigables en mi PrestaShop, el cual esta alojado en un servidor Apache2 en una maquina con Lubuntu, y para mi sorpresa no funcionaba como los manuales prometian. De manera que me aventure por los foros a buscar soluciones, y esto es lo que encontre: http://www.prestasho...__fromsearch__1 http://www.prestasho...__1#entry946868 http://www.prestasho...bles-500-error/ y mas.... He seguido todo tipo de soluciones, ya sea añadiendo la linea " RewriteBase /" Despues de "<IfModule mod_rewrite.c>", poniendo el .htaccess que se propone en un post, generandolo de 0 de nuevo, etc, etc, etc.... He comprobado mi info.php y estos son mis modulos activos (mod_rewrite entre ellos): core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status Tambien he tratado de reinstalar apache2 y nada... He probado todas las combinaciones de opciones (que son solo 4) con la opcion URL amigables activas, lo maximo que he conseguido es que al escribir /localhost/prestashop/ en el buscador no me lance directamente un 404, cuando sigo uno de los links que se presentan en la pagina principal recibo este error. No se cual puede ser el problema, os dejo mi .htaccess talcual me lo deja el propio 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} ^localhost$ RewriteRule . - [E=REWRITEBASE:/prestashop2/] 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] # 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 /prestashop2/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 Gracias de antemano EDIT: Solucionado, mirar 2 posts mas abajo Edited November 21, 2012 by gienini (see edit history) Link to comment Share on other sites More sharing options...
gienini Posted November 19, 2012 Author Share Posted November 19, 2012 Sigo teniendo problemas con ello, espero que alguien pueda ayudarme Link to comment Share on other sites More sharing options...
gienini Posted November 20, 2012 Author Share Posted November 20, 2012 (edited) Al fin! He conseguido que funcione mi Prestashop en servicio local con la funcionalidad "URLs amigables" en Lubuntu. Finalmente he creado un host virtual y me he dado cuenta que puedo modificar un parametro de la configuracion, que de otra manera no se como se consigue. Os propongo un pequeño tutorial pra montar un host virtual con apache2 y Ubuntu: Para empezar modificamos el fichero que contiene los hosts alojados por esta maquina: $sudo nano /etc/hosts Y agregamos esta linea (manteniendo el contenido original): 127.0.0.1 prueba.test Donde pone prueba.test es la direccion que posteriormente introduciremos en nuestro navegador para acceder al sitio web. Una vez realizado esto accedemos al directorio contenedor de los ficheros de configuracion de los hosts de apache2: $cd /etc/apache2/sites-available/ Aqui disponemos de un fichero de configuracion llamado default que contiene las configuraciones que por defecto se aplican a todos los hosts de apache. Sacamos una copia tal que asi: $sudo cp default prueba.test Ahora realizaremos una pequeña modificacion sobre este fichero $sudo nano prueba.test Buscamos el siguiente fragmento de codigo ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride all </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> Y lo modificamos para que quede asi: ServerAdmin webmaster@localhost ServerName prueba.test DocumentRoot /var/www/prueba.test/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/prueba.test> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> Cuando hayamos terminado todo esto ejecutamos el comando para que Apache tome y monte nuestro virtual host $sudo a2ensite prueba.test $sudo service apache2 force-reload Una vez hecho esto deberíamos poder acceder a /prueba.test/ desde nuestro navegador sin ningun problema Edited November 20, 2012 by gienini (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts