Tenía mi sitio en una subcarpeta y decidí trasladarlo al nivel raíz del dominio
El principal reto consistía en mantener todos los artículos en la misma ruta que una subcarpeta y, al mismo tiempo, redirigir la URL a la raíz del dominio o a otra ubicación
Apache
El servidor HTTP Apache soporta RewriteCond
. Para realizar este cambio, edite su archivo .htaccess
o httpd.conf
y añádale las siguientes líneas
RewriteEngine en
RewriteBase
/
RewriteRule
^subcarpeta/(.*)$ /$1 [R=301,NC,L]
Aquí estamos utilizando /
como base y nuestra RewriteRule
funciona para todas las URLs de nuestra subcarpeta utilizando expresiones regulares. R=301
especifica una redirección permanente
Nginx
Podemos conseguir una redirección similar con el servidor web Nginx utilizando la directiva rewrite
en su /etc/nginx/nginx.conf
o /etc/nginx/conf.d/default.conf
location ^~ /subcarpeta {
rewrite ^/subcarpeta(.*)$ $1 last;
}
Aquí el modificador ^~
garantiza que esta ubicación prefijada siga teniendo prioridad si en el futuro añadiera alguna ubicación regex
IIS
En IIS, podemos utilizar el módulo Rewrite para reescribir las URL que se encuentran en una subcarpeta y queremos que aparezcan como si estuvieran en la raíz. Puede editar su archivo web.config
en su carpeta webroot(%SystemDrive%\inetpub\wwwroot
) con algo como
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Root_URL_Rewrite" stopProcessing="true">
<match url="^(.*)" />
<action type="Rewrite" url="/subcarpeta/{R:0}"
/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Como alternativa, también puede utilizar la interfaz de usuario de reescritura de URL en el Administrador de IIS para añadir una regla de entrada
Cloudflare
Podemos conseguir una redirección similar utilizando Cloudflare siguiendo los pasos que se indican a continuación
- Inicie sesión en su cuenta de Cloudflare.
- Haga clic en la cuenta de Cloudflare correspondiente al dominio al que desea añadir el redireccionamiento de URL.
- Haga clic en la aplicación Reglas y, a continuación, en la pestaña Reglas de página.
- En Reglas de página, haga clic en Crear regla de página. Se abrirá el cuadro de diálogo Crear regla de página para su dominio.
- Ahora, en Si la URL coincide, introduzca el patrón de URL de una subcarpeta que deba coincidir con la regla, como
https://example.com/subfolder.
- A continuación, haga clic en Añadir una configuración y elija URL de reenvío en el menú desplegable.
- Haga clic en Seleccionar código de estado y elija 301 (Redirección permanente) o 302 (Redirección temporal).
- Introduzca la URL de destino para su dominio raíz y haga clic en Guardar e implementar para finalizar.
El ejemplo anterior es para redirigir todo de https://geekflare.com/blog a https://geekflare.com
Para terminar
Como puede ver, redirigir o mapear una subcarpeta a la raíz o a otra URL es una tarea común y es soportada por la mayoría de los navegadores populares con diferentes opciones
A continuación, descubra cómo puede alojar varios sitios web en una única IP.