Esta es la parte esencial de mi configuración actual, en la que protejo todo mi sitio web mediante la autenticación básica HTTP:
<VirtualHost *:443> <Location "/"> AuthType Basic AuthName "Protected Area" AuthBasicProvider file AuthUserFile /path/to/passwords_file Require valid-user </Location> </VirtualHost> Sin embargo, quiero exceptuar ciertas rutas para que estén disponibles públicamente, específicamente robots.txt , favicon.ico , manifest.json . ¿Como hacer esto?
Agregar el siguiente bloque de configuración después de la Location existente hará que las rutas especificadas no requieran una contraseña:
<Location ~ "^/favicon\.ico$|^/manifest\.json$|^/robots\.txt$"> Require all granted </Location>Este usa una sola cadena de coincidencia de expresiones regulares para todos los archivos, pero también puede especificar cada uno de ellos individualmente, uno a la vez, sin usar expresiones regulares:
<Location "/favicon.ico"> Require all granted </Location> <Location "/manifest.json"> Require all granted </Location> <Location "/robots.txt"> Require all granted </Location>