regular - regex replace online
¿Se puede utilizar la captura de expresiones regulares y la sustitución con una directiva Apache DirectoryMatch? (2)
Lo que intenta hacer es muy similar a los directorios de inicio por usuario . La forma en que Apache maneja estos es a través de los permisos del sistema de archivos y los archivos .htaccess . No creo que haya ninguna forma de usar la captura de expresiones regulares en las directivas adjuntas (AuthName, etc.).
¿Alguien sabe si es posible usar la captura de expresiones regulares dentro de la directiva DirectoryMatch de Apache? Me gustaría hacer algo como lo siguiente:
<DirectoryMatch ^/home/www/(.*)>
AuthType Basic
AuthName $1
AuthUserFile /etc/apache2/svn.passwd
Require group $1 admin
</DirectoryMatch>
pero hasta ahora no he tenido éxito.
Específicamente, intento crear una autenticación HTTP basada en grupos para directorios / fantasmas individuales en un servidor en Apache 2.0.
Por ejemplo, el Sitio A, que apunta a / home / www / a estará disponible para todos los usuarios en el grupo administrativo y el grupo a, el sitio b en / home / www / b estará disponible para todos los usuarios en grupo admin y grupo b, etc. Me gustaría mantener todo basado en el nombre del directorio para que pueda guiar fácilmente la adición de usuarios htpasswd a los grupos correctos y automatizar esto tanto como sea posible, pero sin duda otras sugerencias para resolver el problema son bienvenidas.
Podría abordar el problema desde un ángulo completamente diferente: habilite el módulo perl y puede incluir un pequeño script perl en su httpd.conf. Entonces podrías hacer algo como esto:
<Perl>
my @groups = qw/ foo bar baz /;
foreach ( @groups ) {
push @PerlConfig, qq| <Directory /home/www/$_> blah </Directory> |;
}
</Perl>
De esta manera, incluso podría leer sus grupos y otra información de una base de datos o simplemente usando globbing / home / www o cualquier otra cosa que le guste.