{"id":8541,"date":"2024-06-06T22:21:13","date_gmt":"2024-06-06T20:21:13","guid":{"rendered":"https:\/\/www.nicalia.com\/nicapedia\/guias\/desarrollo-web\/como-cambiar-el-document-root\/"},"modified":"2026-06-11T10:47:16","modified_gmt":"2026-06-11T08:47:16","slug":"como-cambiar-el-document-root","status":"publish","type":"docs","link":"https:\/\/www.nicalia.com\/nicapedia\/como-cambiar-el-document-root\/","title":{"rendered":"C\u00f3mo cambiar el document root con .htaccess en cPanel"},"content":{"rendered":"<p>El <strong>document root<\/strong> es la carpeta del servidor desde la que se sirven los archivos de tu sitio web cuando alguien visita tu dominio. Por defecto en los hosting de Nicalia es <code>public_html<\/code>. Cambiar el document root es \u00fatil cuando tienes una aplicaci\u00f3n instalada en un subdirectorio (como <code>public_html\/app<\/code>) y quieres que el dominio apunte directamente a ese subdirectorio sin mostrar la carpeta ra\u00edz.<\/p>\n<p>Hay dos formas de hacerlo en cPanel: mediante una regla de redirecci\u00f3n en el archivo <strong>.htaccess<\/strong> (sin tocar la configuraci\u00f3n del servidor) o cambiando la <strong>carpeta ra\u00edz del dominio<\/strong> directamente desde la secci\u00f3n Dominios de cPanel.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: M\u00c9TODO 1 \u2014 .HTACCESS\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>M\u00e9todo 1 \u2014 Cambiar el document root mediante .htaccess<\/h2>\n<p>Este m\u00e9todo redirige todo el tr\u00e1fico del dominio hacia un subdirectorio mediante una regla de reescritura de Apache, sin modificar la configuraci\u00f3n del servidor.<\/p>\n<h3>Paso 1 \u2014 Abrir el archivo .htaccess<\/h3>\n<p>Accede al <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-al-administrador-de-archivos\/\">Administrador de Archivos de cPanel<\/a> y navega hasta la carpeta ra\u00edz de tu dominio (normalmente <code>public_html<\/code>). Localiza el archivo <code>.htaccess<\/code> y \u00e1brelo para editar. Si no existe, cr\u00e9alo.<\/p>\n<figure class=\"wp-block-image size-full\">\n  <img decoding=\"async\" src=\"https:\/\/www.nicalia.com\/nicapedia\/wp-content\/uploads\/2024\/06\/24952140.png\"\n       alt=\"Administrador de Archivos de cPanel mostrando la carpeta public_html con el archivo .htaccess visible\"\/><br \/>\n<\/figure>\n<p>\u2139\ufe0f El archivo <code>.htaccess<\/code> puede estar oculto. Si no lo ves, activa la visualizaci\u00f3n de archivos ocultos en <em>Ajustes \u2192 Mostrar archivos ocultos<\/em> del Administrador de Archivos.<\/p>\n<h3>Paso 2 \u2014 A\u00f1adir la regla de redirecci\u00f3n<\/h3>\n<p>A\u00f1ade el siguiente c\u00f3digo en el archivo <code>.htaccess<\/code>:<\/p>\n<pre><code>RewriteEngine on\nRewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]\nRewriteCond %{HTTP_HOST} ^www.example.com$\nRewriteCond %{REQUEST_URI} !directorio\/\nRewriteRule (.*) \/directorio\/$1 [L]<\/code><\/pre>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/www.nicalia.com\/nicapedia\/wp-content\/uploads\/2024\/06\/24952138-1024x500.png\"\n       alt=\"Editor del archivo .htaccess en el Administrador de Archivos de cPanel con el c\u00f3digo de redirecci\u00f3n del document root hacia un subdirectorio\"\/><br \/>\n<\/figure>\n<h3>Paso 3 \u2014 Personalizar los valores<\/h3>\n<ul>\n<li>Sustituye <code>example.com<\/code> por tu nombre de dominio real (sin <code>www<\/code> en la primera condici\u00f3n, con <code>www<\/code> en la segunda).<\/li>\n<li>Sustituye <code>directorio<\/code> por el nombre de la carpeta dentro de <code>public_html<\/code> a la que quieres apuntar el dominio.<\/li>\n<\/ul>\n<p><strong>Explicaci\u00f3n de las directivas:<\/strong><\/p>\n<ul>\n<li><code>RewriteEngine on<\/code> \u2014 activa el motor de reescritura de Apache.<\/li>\n<li><code>RewriteCond %{HTTP_HOST} ^example.com$<\/code> \u2014 condici\u00f3n: aplica solo cuando el host es <code>example.com<\/code> (sin www).<\/li>\n<li><code>RewriteCond %{HTTP_HOST} ^www.example.com$<\/code> \u2014 condici\u00f3n adicional: aplica tambi\u00e9n para <code>www.example.com<\/code>.<\/li>\n<li><code>RewriteCond %{REQUEST_URI} !directorio\/<\/code> \u2014 evita bucles de redirecci\u00f3n comprobando que la URL no est\u00e1 ya en el subdirectorio.<\/li>\n<li><code>RewriteRule (.*) \/directorio\/$1 [L]<\/code> \u2014 redirige todas las peticiones al subdirectorio, manteniendo la ruta solicitada.<\/li>\n<\/ul>\n<h3>Paso 4 \u2014 Guardar los cambios<\/h3>\n<p>Guarda el archivo y ci\u00e9rralo. La redirecci\u00f3n surtir\u00e1 efecto de forma inmediata \u2014 cualquier visita a <code>tudominio.com<\/code> se redirigir\u00e1 a <code>tudominio.com\/directorio\/<\/code> y se servir\u00e1n los archivos de esa carpeta.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: M\u00c9TODO 2 \u2014 CPANEL DOMINIOS\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>M\u00e9todo 2 \u2014 Cambiar el document root desde cPanel Dominios<\/h2>\n<p>cPanel permite cambiar directamente la carpeta ra\u00edz de un dominio addon o subdominio desde la secci\u00f3n de gesti\u00f3n de dominios. Este m\u00e9todo es m\u00e1s limpio que el <code>.htaccess<\/code> porque modifica la configuraci\u00f3n real del virtual host sin necesidad de reglas de reescritura.<\/p>\n<ol>\n<li>En cPanel ve a <strong>Dominios \u2192 Dominios<\/strong>.<\/li>\n<li>Localiza el dominio o subdominio cuyo document root quieres cambiar.<\/li>\n<li>Haz clic en <strong>\u00abAdministrar\u00bb<\/strong>.<\/li>\n<li>En el campo <strong>\u00abRa\u00edz del documento\u00bb<\/strong>, modifica la ruta para que apunte al subdirectorio deseado (ej: <code>public_html\/app<\/code>).<\/li>\n<li>Guarda los cambios.<\/li>\n<\/ol>\n<p>\u2139\ufe0f Este m\u00e9todo solo est\u00e1 disponible para dominios addon y subdominios. El dominio principal de la cuenta cPanel tiene su document root fijado en <code>public_html<\/code> y no puede cambiarse directamente desde la interfaz \u2014 en ese caso usa el M\u00e9todo 1 con <code>.htaccess<\/code>.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: ERRORES COMUNES\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Errores frecuentes al cambiar el document root<\/h2>\n<h3>La redirecci\u00f3n entra en bucle infinito (error \u00abToo Many Redirects\u00bb)<\/h3>\n<p>Falta la condici\u00f3n <code>RewriteCond %{REQUEST_URI} !directorio\/<\/code> antes de la regla <code>RewriteRule<\/code>, o el nombre del directorio en esa condici\u00f3n no coincide exactamente con el del <code>RewriteRule<\/code>. Verifica que ambos usan exactamente el mismo nombre y que la barra final est\u00e1 presente en la condici\u00f3n de exclusi\u00f3n.<\/p>\n<h3>El dominio con www no redirige pero sin www s\u00ed<\/h3>\n<p>Comprueba que la segunda condici\u00f3n <code>RewriteCond %{HTTP_HOST} ^www.example.com$<\/code> tiene la sintaxis correcta. La barra <code>^<\/code> al inicio y el <code>$<\/code> al final son esenciales \u2014 sin ellos la expresi\u00f3n regular no coincide exactamente con el host.<\/p>\n<h3>La redirecci\u00f3n funciona pero los recursos (CSS, im\u00e1genes) no cargan<\/h3>\n<p>Las rutas absolutas de los recursos de tu aplicaci\u00f3n pueden estar basadas en <code>\/<\/code> (ra\u00edz del dominio) en lugar del subdirectorio. Si los recursos tienen rutas como <code>\/assets\/style.css<\/code>, el navegador los buscar\u00e1 en <code>tudominio.com\/assets\/style.css<\/code> (la ra\u00edz), no en <code>tudominio.com\/directorio\/assets\/style.css<\/code>. Deber\u00e1s actualizar las rutas en tu aplicaci\u00f3n o usar el M\u00e9todo 2 (cambiar el document root en cPanel Dominios).<\/p>\n<h3>El archivo .htaccess no aplica los cambios<\/h3>\n<p>En algunos servidores el m\u00f3dulo <code>mod_rewrite<\/code> puede no estar activo, o puede que haya otra directiva <code>AllowOverride<\/code> bloqueando el uso del <code>.htaccess<\/code>. En los servidores LiteSpeed de Nicalia, <code>mod_rewrite<\/code> equivalente est\u00e1 activo por defecto. Si los cambios no surten efecto, verifica que no hay otro <code>.htaccess<\/code> en el subdirectorio que anule las reglas.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: FAQ\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Preguntas frecuentes sobre el document root<\/h2>\n<h3>\u00bfQu\u00e9 es el document root y cu\u00e1ndo necesito cambiarlo?<\/h3>\n<p>El document root es la carpeta del servidor desde la que se sirven los archivos cuando se visita el dominio. Necesitas cambiarlo cuando tu aplicaci\u00f3n est\u00e1 en un subdirectorio (ej: <code>public_html\/app<\/code>) y quieres que el dominio ra\u00edz apunte a ella directamente, sin que la URL muestre el nombre del subdirectorio en la barra de direcciones.<\/p>\n<h3>\u00bfCu\u00e1l es el document root por defecto en Nicalia?<\/h3>\n<p>Para el dominio principal de la cuenta cPanel es <code>public_html<\/code>. Para dominios addon y subdominios, cPanel crea autom\u00e1ticamente una carpeta dentro de <code>public_html<\/code> con el nombre del dominio o subdominio, que es su document root por defecto.<\/p>\n<h3>\u00bfPuedo cambiar el document root del dominio principal de cPanel?<\/h3>\n<p>No directamente desde la interfaz de cPanel \u2014 la ra\u00edz del dominio principal siempre apunta a <code>public_html<\/code>. La forma de redirigir el tr\u00e1fico a un subdirectorio es mediante el M\u00e9todo 1 (regla RewriteRule en el <code>.htaccess<\/code>), que no cambia el document root real pero redirige todas las peticiones al subdirectorio.<\/p>\n<h3>\u00bfLa regla .htaccess afecta a las URLs \u2014 los visitantes ver\u00e1n el subdirectorio en la barra de direcciones?<\/h3>\n<p>No si usas la regla <code>RewriteRule<\/code> incluida en esta gu\u00eda. La reescritura se hace internamente en el servidor \u2014 el navegador del visitante sigue viendo <code>tudominio.com<\/code> en la barra de direcciones, aunque el servidor est\u00e9 sirviendo los archivos desde <code>public_html\/directorio\/<\/code>.<\/p>\n<h3>\u00bfQu\u00e9 diferencia hay entre cambiar el document root y crear un subdominio?<\/h3>\n<p>Son soluciones distintas. Cambiar el document root del dominio principal hace que <code>tudominio.com<\/code> sirva desde un subdirectorio diferente. Crear un subdominio (<code>app.tudominio.com<\/code>) crea una URL diferente que puede apuntar a cualquier carpeta. Si quieres mantener la misma URL del dominio principal, cambia el document root. Si puedes usar una URL diferente, crea un subdominio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El document root es la carpeta del servidor desde la que se sirven los archivos de tu sitio web cuando alguien visita tu dominio. Por defecto en los hosting de Nicalia es public_html. Cambiar el document root es \u00fatil cuando tienes una aplicaci\u00f3n instalada en un subdirectorio (como public_html\/app) y quieres que el dominio apunte [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":5635,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-8541","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/4471485c4e49f46218d6b6d125f80f4cde1f86f045fd896202eefddaf4d4510a?s=96&d=mm&r=g","author_name":"Francisco Garvi","_links":{"self":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/8541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/comments?post=8541"}],"version-history":[{"count":3,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/8541\/revisions"}],"predecessor-version":[{"id":10111,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/8541\/revisions\/10111"}],"up":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/5635"}],"wp:attachment":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/media?parent=8541"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_tag?post=8541"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_badge?post=8541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}