¿Cómo instalar WordPress en un directorio distinto a la raíz?
A veces deseamos instalar WordPress para manejar nuestra página principal, pero por cuestión de orden, queremos que todos los archivos de instalación estén en un subdirectorio en vez de estar en la raíz. En este artículo mostraremos cómo hacerlo y qué cambios son necesarios.
Para que WordPress funcione como página principal, pero desde un subdirectorio, revisaremos dos casos:
Si tiene instalado WordPress en la raíz y desea moverlo a un subdirectorio
1) Mueva todos los archivos de WordPress de la raíz al subdirectorio deseado.
2) Cree un archivo .htaccess en el directorio raíz con el contenido siguiente (reemplazando dominio-ejemplo.com y subdirectorio por los nombres correspondientes de su dominio y subdirectorio usados):
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?dominio-ejemplo.com$
RewriteCond %{REQUEST_URI} !^/subdirectorio/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdirectorio/$1
RewriteCond %{HTTP_HOST} ^(www.)?dominio-ejemplo.com$
RewriteRule ^(/)?$ pixelizarte/index.php [L]
</IfModule>
Si tiene instalado WordPress en un subdirectorio
Por defecto, si instalamos WordPress en un subdirectorio, al acceder a través del navegador, la ruta sería www.dominio-ejemplo.com/subdirectorio. Para que funcione en la raíz (www.dominio-ejemplo.com), tenemos que seguir los siguientes pasos:
1) En la opción de Ajustes Generales, por defecto se tiene los valores siguientes:
Se tiene que cambiar la Dirección de WordPress (URL) y Dirección del sitio (URL) como sigue:
2) Cree un archivo .htaccess en el directorio raíz con el contenido siguiente (reemplazando dominio-ejemplo.com y subdirectorio por los nombres correspondientes de su dominio y subdirectorio usados):
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?dominio-ejemplo.com$
RewriteCond %{REQUEST_URI} !^/subdirectorio/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdirectorio/$1
RewriteCond %{HTTP_HOST} ^(www.)?dominio-ejemplo.com$
RewriteRule ^(/)?$ pixelizarte/index.php [L]
</IfModule>
Asegúrese que en el directorio raíz no existan archivos index.htm, index.html o index.php para evitar posibles conflictos. Si existen, antes de eliminarlos, renómbrelos por seguridad hasta que esté seguro de los cambios que está haciendo.