我有一个Apache conf,我正在映射根目录外的文件夹:
Alias /salt "/var/cache/salt/master/minions"
<Directory "/var/cache/salt/master/minions">
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
现在问题是目录minions中有很多文件夹,我想只显示一个名为“cert”的文件夹。我该怎么做?
答案 0 :(得分:0)
我无法找到一个好的解决方案,但这就是我做到的。 我写了一个index.php页面,它只显示我需要的文件。它可能不是完美的解决方案,但不得不以某种方式做到这一点。 我还必须在apache conf中更改目录索引。
以下是帮助任何人的代码:
Alias / salt“/ var / cache / salt / master / minions”
<Directory "/var/cache/salt/master/minions/">
Options Indexes FollowSymLinks
Require all granted
DirectoryIndex index.php
</Directory>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /salt</title>
</head>
<body>
<?php
function get_string_between($string, $start, $end){
$string = ' ' . $string;
$ini = strpos($string, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
$dir = new RecursiveDirectoryIterator(__DIR__);
$flat = new RecursiveIteratorIterator($dir);
$files = new RegexIterator($flat, '/\.pem$/i');
$relpath = array();
foreach($files as $file) {
$parsed = get_string_between($file, '/master/minions/', 'ssl_cert.pem');
array_push($relpath,$parsed);
}
?>
<h1>Index of /salt</h1>
<table>
<tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
<tr><th colspan="5"><hr></th></tr>
<?php
foreach ($relpath as &$value) {
echo "<tr><td valign='top'><img src='/icons/folder.gif' alt='[DIR]'></td><td><a href='$value'>$value</a></td><td align='right'> - </td><td> </td></tr>";
}
?>
<tr><th colspan="5"><hr></th></tr>
</table>
<address>Apache/2.4.7 (Ubuntu) Server at 10.102.28.170 Port 90</address>
</body></html>