Reescritura de Apache: elimine la parte de la URL

Reescritura de Apache: elimine la parte de la URL

Tengo una aplicación Ruby on Rails con dos subsitios www.example.com/site1y www.example.com/site2. Para fines de demostración, necesitamos deshabilitar site2y mostrar solo site1. Entonces hice algunas redirecciones en mi configuración de host virtual Apache como esta

Redirect 301 http://www.example.com/site2 http://www.example.com/site1
Redirect 301 http://www.example.com http://www.example.com/site1

asegúrese de redirigir siempre a site1. Ahora, sería fantástico si pudiéramos eliminar site1de la URL http://www.example.com/site1para que solo se muestre http://www.example.com, pero también pueda manejar subsitios (por ejemplo, el sitio "original" es http://www.example.com/site1/cat1y debería mostrarse como http://www.example.com/cat1).

  • ¿Es esto posible usando el motor de reescritura de Apache? ¿Y cómo?
  • No estoy seguro de si tengo que cambiar algo dentro de mi aplicación, o ¿apache no modifica la URL de solicitud (que detecta mi enrutador)?
  • Otra solución sería mostrar sólo el dominio en la barra de direcciones de los usuarios. ¿Es esto posible y cómo?

Respuesta1

Esto suena más como si simplemente debería cambiar DocumentRoot para www.example.com al site1directorio en lugar de lo que es ahora. Eso evita la necesidad de redirección en los tres ejemplos citados.

información relacionada