Cómo redireccionar el directorio raíz hacia un subdirectorio y que sigan funcionando los enlaces anteriores

Cómo redireccionar el directorio raíz hacia un subdirectorio y que sigan funcionando los enlaces anteriores

Digamos que tienes una nueva versión de tu sitio en un subdirectorio de tu cuenta de hospedaje web. A menos que hayas tenido un cuidado extremo, los enlaces serán distintos y probablemente tendrás errores 404 al llegar tus visitantes desde un buscador.

Con la siguiente porción de código, redireccionarás el directorio raíz hacia el subdirectorio que contiene el sitio web nuevo, pero las solicitudes de páginas existentes en el directorio raíz serán respondidas positivamente por el servidor web presentando la página correspondiente. De esta manera tus enlaces antiguos seguirán vigentes y el sitio nuevo estará también en funcionamiento.

En el archivo .htaccess coloca el siguiente código:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?sitio.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?sitio.com$
RewriteRule ^(/)?$ subdir/index.php [L]

Modifica sitio y subdir con los valores que correspondan a tu caso.