Como configurar el sitio web principal de Cpanel en una carpeta

El panel de control cPanel, por defecto siempre ubica la web principal en la carpeta raíz de public_html.


Recomendamos siempre mantener esta configuración y no cambiarla, porque cambiar una web de carpeta puede suponer tener que cambiar la ruta donde está ubicada la web en ese cms (gestor de contenidos WordPress, Joomla, PrestaShop o Moodle) o bien que algunas imágenes no sean visibles y den errores 404 en los buscadores.


Si aún así quieres reubicar un sitio en otra subcarpeta del public_html, tendrás que mover los archivos y carpetas que conforman todo el sitio a esa nueva subcarpeta y crear el siguiente archivo ".htaccess" en el public_html:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^tudominio.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.tudominio.com$
RewriteCond %{REQUEST_URI} !nombresubcarpeta/
RewriteRule (.*) /nombresubcarpeta/$1 [L]
NOTA: Cambia "tudominio.com" por tu dominio real y "nombresubcarpeta" por el nombre que le has dado a la nueva carpeta donde está ubicado ahora el sitio.


IMPORTANTE: Una vez realizado este cambio, deberás limpiar la caché de tu web.


Dependiendo del gestor de contenidos, si decidimos mover los archivos y carpetas a otra subcarpeta dentro del public_html por cualquier motivo (organización por ejemplo si se tienen varios sitios, etc) seguramente haya que hacer cambios o bien en la base de datos, o bien en algún archivo de configuración.



Cambios adicionales en WordPress


En WordPress, la rutas de las imágenes a veces se configura con la ruta absoluta. Por ejemplo algunas imágenes pueden estar ubicadas en:


/home/nombreusuariocpanel/public_html/


Si movemos el sitio de WordPress a una carpeta, tendremos que buscar en la base de datos si existe alguna ruta absoluta configurada en ella. Y en su caso cambiarla por la nueva ruta:


/home/nombreusuariocpanel/public_html/nombresitiowordpress/


Para hacer este paso podemos usar el plugin Better Search and Replace, que busca y reemplaza cadenas de texto en la base de datos.



Cambios adicionales en Moodle


En Moodle, la ruta del sitio se encuentra configurada en el config.php. Por tanto debes editar ese archivo y cambiar la nueva ruta del sitio (la carpeta moodledata la deberías tener fuera del public_html y no se vería afectada).


Cambios adicionales en Joomla


Deberás editar el archivo configuration.php y cambiar las rutas absolutas que haya (logs, tmp, etc)


Cambios adicionales en PrestaShop


En principio en PrestaShop no afectaría el cambio de carpeta. Solo deberías purgar la caché.