¿Estás teniendo problemas con tu Prestashop?

como moer archivos en prestashop

Probablemente se deba a que al instalar un Pack de Prestashop la web no cargue bien y arroje errores.

Al contratar tu hosting para alojar Prestashop asegurate de que estos archivos estén en la carpeta recomendada: /public_html, pero sí por alguna confusión no lo hiciste así, no hay problema te enseñaremos a hacerlo moviendo estos archivos a la carpeta principal.

Hay 2 alternativas a este inconveniente:
Lo ideal es que si solo vas a gestionar una web en tu Hosting, la instales en la carpeta principal del mismo que es /public_html

Este error suele suceder cuando el dominio al que está asociado tu hosting busca estos archivos en la carpeta principal de tu Hosting, cuando no encuentra ninguno de estos archivos entonces retorna un fatal error Forbidden en el navegador.

Vamos a explicarte cómo puedes resolverlo.

Solución #1: Pasar o mover los archivos a la carpeta /public_html

Si quieres que por defecto los archivos que conforman tu página en Prestashop estén en la carpeta principal realiza los siguientes pasos:

  1. Realiza una copia de seguridad de toda la web y las bases de datos para que quede en tus respaldos.
  2. Ingresa al panel en este caso cPanel y dirígete a Archivos – Administrador de Archivos
  3. Dentro de este busca la carpeta donde esté instalado el Prestashop pongamos un breve ejemplo: /Public_html/miprestashop
  4. Ahora selecciona todos los archivos, puedes ver que en el panel superior puedes copiarlos todos
  5. Ahora se abrirá una ventana, debes eliminar el final y dejar solo lo siguiente:
    /public_html.
  6. Haz clic en Copiar Archivos (Copy Files).
  7.  Da clic en Subir un nivel (en el icono superior) para ver la carpeta /public_html y todos los archivos copiados dentro de la carpeta.
  8. Utiliza un editor de codigo y edita el archivo .htaccess para revisar si las rutas están apuntando a la carpeta /public_html
  9. Accede al back office para modificar las URLs
  10. Sí realizaste los pasos anteriores prueba de nuevo cargando la web
  11. Revisar el archivo .htaccess (usar el Editor de Código) para comprobar que las rutas que contenga apuntan ahora a /public_html.

    Nota Importante: Si tu archivo .htaccess está vacío, puedes utilizar el siguiente código:
# ~~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>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff

#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

Solución #02: Apunta el dominio principal a la carpeta actual

Supongamos que ya tienes otros archivos en la carpeta principal public_html y tu intención es mantener tu Prestashop en una carpeta secundaria sin mezclar ambos contenidos puedes dejar la instalación tal como está y apuntaras tu dominio principal a esta carpeta.

Verás que el dominio visualizará la ruta completamente transparente como si estuviera accediendo de la siguiente manera:

http://midominio.com

El dominio principal siempre apuntará al directorio principal y mostrará todos los archivos que ahí se alojan. Sí hay dominios adicionales se crean subdirectorios dentro de /public_html para alojar la información a mostrar en este dominio

Ahora vamos a mover los ficheros del dominio principal a un subdirectorio dentro de la carpeta /public_html como si estuviéramos realizándolo con un dominio adicional.
Muy importante: El siguiente código debe ir al inicio del fichero y en la carpeta principal public_html.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?midominio.com$
# Cambiar 'subdirectory' por el nombre del subdirectorio que quiere usar
RewriteCond %{REQUEST_URI} !^/subdirectory/
# No cambiar estas lineas.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Cambiar 'subdirectory' por el nombre del subdirectorio que quiere usar
RewriteRule ^(.*)$ /subdirectory/$1
# Cambiar midominio.com por el nombre de tu dominio
# Cambiar 'subdirectory' por el nombre del subdirectorio que quiere usar
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_HOST} ^(www.)?midominio.com$
RewriteRule ^(/)?$ subdirectory/index.php [L]

Procede a sustituir los siguientes valores:
*subdirectory = carpeta donde tienes instalado Prestashop
*midominio.com = Es el dominio principal que deberas apuntar para cargar la web en Prestashop

Puedes estar tranquilo durante la ejecución de este proceso pues la instalación de Prestashop no se ve alterada y tampoco modifica negativamente el funcionamiento.

*Asegurate que el dominio principal cargue la tienda en Prestashop correctamente.*