Quiero redirigir ejemplo.com y ejemplo.com/cualquier cosa a ejemplo.com/blog. Tenga en cuenta algunas cosas.
Me refiero a example.com para un dominio 1.
Uso apache como servidor web.
La raíz de mi documento está configurada en /var/www/html/public dentro del archivo apache vhost conf (para una aplicación laravel).
Intenté configurar redireccionamientos en .htaccess y usar el archivo apache vhost conf y obtengo un error de redireccionamiento demasiadas veces.
¿Alguien puede ayudarme a lograr esto por favor?
Esto probablemente es lo que está buscando: reescribir en el nivel del servidor http:
RewriteEngine on RewriteRule ^/?$ /blog [R=301] RewriteRule ^/?anything/?$ /blog [R=301]Si por "cualquier cosa" realmente significa algo para que se aplique una redirección independientemente de la ruta solicitada, entonces esto debería funcionar:
RewriteEngine on RewriteCond %{REQUEST_URI} !/blog RewriteRule ^ /blog [R=301]Es una buena idea comenzar con una redirección temporal 302 y solo cambiarla a una redirección permanente 301 más tarde, una vez que esté seguro de que todo está configurado correctamente. Eso evita problemas de almacenamiento en caché al probar cosas...
Esta implementación funcionará igualmente en la configuración del host de los servidores http o dentro de un archivo de configuración distribuido (archivo ".htaccess"). Obviamente, el módulo de reescritura debe cargarse dentro del servidor http y habilitarse en el host http. En caso de que utilice un archivo de configuración distribuido, debe tener cuidado de que su interpretación esté habilitada en la configuración del host y que esté ubicado en la carpeta DOCUMENT_ROOT del host.
Y una observación general: siempre debe preferir colocar tales reglas en la configuración del host de los servidores http en lugar de usar archivos de configuración distribuidos (".htaccess"). Esos archivos de configuración distribuidos agregan complejidad, a menudo son la causa de un comportamiento inesperado, difíciles de depurar y realmente ralentizan el servidor http. Solo se proporcionan como última opción para situaciones en las que no tiene acceso a la configuración de host de los servidores http reales (léase: proveedores de servicios realmente baratos) o para aplicaciones que insisten en escribir sus propias reglas (lo que es una pesadilla de seguridad obvia).
Puedes hacer eso en tus rutas.
// web.php Route::redirect('/', '/blog'); Route::redirect('/anything', '/blog');