在所有目录中用PHP索引器替换mod_autoindex,而不向所有目录添加index.PHP


Replace mod_autoindex with PHP indexer in all directories without adding a index.php to all of them

我喜欢自动索引文件夹的功能,这样我就可以提供大量文件,而无需一直添加页面链接。但是,我不喜欢使用.htaccess来保护目录的httpAuth登录框。此外,我还想在索引中添加更多功能。因此,我编写了一个PHP脚本,以我想要的方式生成索引,这样我就可以用PHP控制一切,用SQL存储用户,向我的文件编辑器添加额外的链接,并使用漂亮的web表单登录。

问题是,任何新目录都需要一个包含脚本的index.php文件,或者我只得到apache索引。这意味着将一行index.php文件复制到每个目录中。我可以使用PHP生成它,但如果我使用FTP来管理文件,则无法解决所有问题。有没有任何方法可以配置apache在任何没有自己索引文件的目录中显示我的索引脚本?这样它的行为就像mod_autoindex?但是用我的自定义脚本。

将index.php放在根目录中,然后使用重定向

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d #if directory exists
RewriteRule . /index.php [L]

然后在index.php中使用$_SERVER['REQUEST_URI']来确定请求的文件夹,然后使用php来显示您想要显示的内容,例如使用opendirreaddir等(不要忘记处理'.'和'..'unix文件)