
Utilizando .htaccess
reglas, intento cargar un archivo desde un subdirectorio manteniendo la URL de la interfaz sin cambios si tanto el dominio como la ruta del archivo coinciden con los criterios.
Ejemplo de URL:
example.com/specificfile.xml
El archivo en sí está dentro de un subdirectorio que no es la raíz web pública:
/var/www/feeds/specificfile.xml
Al intentar buscar esto en Google, obtengo muchos resultados, RewriteBase
pero eso no es lo que busco. Necesito "reescribir el directorio base" para un solo archivo y conservar la URL de la interfaz.
Respuesta1
Suponiendo /var/www
que es la raíz del documento, para servir /feeds/specificfile.xml
cuando se solicita, /specificfile.xml
debe hacer lo siguiente usando mod_rewrite en el .htaccess
archivo raíz:
RewriteRule ^specificfile\.xml$ feeds/$0 [L]
Para que esto funcione, RewriteBase
no debe estar configurado en absoluto (preferible) o debe estar configurado en RewriteBase /
.
La $0
referencia inversa simplemente evita la repetición: se refiere a la ruta URL completa que coincide con elRewriteRule
patrón, es decir. specificfile.xml
.
Tenga en cuenta que si tiene directivas mod_rewrite existentes en su .htaccess
archivo, entoncesel orden importa. (Por ejemplo, las redirecciones externas/canónicas deben realizarse primero).