当 .htaccess 列出目录时执行脚本

execute script when directory listing by .htaccess

我有一个启用了目录列表的 http 服务器 (apache HTTPD v2.4)。我将其配置为使用 https://github.com/Vestride/fancy-index 中的 'fancy-index',效果很好。但是,它的搜索功能并没有给出我要找的东西。

我想配置网络服务器,如果我转到 http://mywebserver.com/someDir/*?list,它将 return someDir 中所有文件的列表,格式为 "file, filesize"。

或者,如果我转到 http://mywebserver.com/someDir/essay2020*.txt?list,我将获得所有 essay2020*.txt 文件的自定义列表。或者某种形式的简单正则表达式:比如 "essay2020[0-2]*.txt".

我可以编写一个 php/perl/python 脚本来读取目录和 return 'file, filesize' 列表。但是如何配置 .htaccess 来调用这个脚本呢?我必须和 'RewriteRule' 混在一起吗?还是特别的东西?

作为补充说明,我不仅限于修改 .htaccess。如果我可以通过修改 httpd.conf 来完成所有这些,我也愿意接受该建议。

谢谢。

CBroe 的评论中的答案做到了。通过修改 apache2.conf 文件来添加:

        RewriteEngine on
        RewriteCond %{QUERY_STRING} ^list$
        RewriteRule .* /search.php?path=%{REQUEST_URI}

在我的 中,我现在可以将所有内容转发到 search.php,在那里我可以解析并执行需要完成的操作。所有 w/o 都揭示了 search.php 的存在。谢谢