| Server IP : 104.21.25.180 / Your IP : 162.159.115.41 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/apache/ |
Upload File : |
#!/usr/bin/perl
# find_htaccess.cgi
# Finds all per-directory options files under the all the document roots
require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$in{'from'}=1 if ($access{'dir'} ne '/');
if ($in{'from'} == 1 && !(-d $in{'dir'})) {
&error(&text('htaccess_edir', $in{'dir'}));
}
&read_file("$module_config_directory/site", \%site);
foreach $f (split(/\s+/, $site{'htaccess'})) {
if (-r $f) { push(@rv, $f); }
}
# Find the default document root and access file
$conf = &get_config();
$def_htaccess = &find_directive("AccessFileName", $conf);
if (!$def_htaccess) { $def_htaccess = ".htaccess"; }
$def_root = &find_directive("DocumentRoot", $conf);
if (!$def_root) { $def_root = "/"; }
# find virtual server doc roots and access files
push(@dirs, $def_root); push(@files, $def_htaccess);
foreach $v (&find_directive_struct("VirtualHost", $conf)) {
$root = &find_directive("DocumentRoot", $v->{'members'});
push(@dirs, $root ? $root : $def_root);
$htaccess = &find_directive("AccessFileName", $v->{'members'});
push(@files, $htaccess ? $htaccess : $def_htaccess);
}
if ($in{'from'} == 0) {
# search under all directories
for($i=0; $i<@dirs; $i++) {
open(FIND, "find ".quotemeta($dirs[$i]).
" -name ".quotemeta($files[$i])." -print |");
while(<FIND>) {
s/\r|\n//g;
push(@rv, $_);
}
close(FIND);
}
}
else {
# search under the given directory only
foreach $f (&unique(@files)) {
push(@args, "-name ".quotemeta($f));
}
$args = join(' -o ', @args);
open(FIND, "find ".quotemeta($in{'dir'})." $args -print |");
while(<FIND>) {
s/\r|\n//g;
push(@rv, $_);
}
close(FIND);
}
# save results
$site{'htaccess'} = join(' ', &unique(@rv));
&write_file("$module_config_directory/site", \%site);
&redirect("htaccess.cgi");