Apache2 AddDescription匹配确切的文件/目录名称

时间:2014-07-03 12:27:49

标签: apache

我试图在(apache generated)目录列表中添加描述。但是,我无法找到一种方法来使描述文本仅应用于文件/目录名称的完全匹配。

例如,如果我有以下目录/文件结构

phpinfo2.php
phpinfo/
phpinfo.php
another_file.php

我应用指令:

AddDescription "PHP" phpinfo

这匹配4个文件/目录中的3个,如下所示:

phpinfo2.php         PHP
phpinfo/             PHP
phpinfo.php          PHP
another_file.php

然而,我真正喜欢的是:

phpinfo2.php
phpinfo/             PHP
phpinfo.php
another_file.php

因为我只希望AddDescription指令匹配确切的文件/目录名。

文档(http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html#adddescription)表示"文件是文件扩展名,部分文件名,通配符表达式或要描述的文件的完整文件名。" - 所以它不可能只匹配一个完整的文件/目录名?

任何帮助都非常感激,或者是否有其他方法可以实现我的目标。感谢。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

AddDescription " " *?phpinfo
AddDescription " " phpinfo?*
AddDescription "PHP" phpinfo

Apache应用第一个匹配的规则并跳过以下任何规则。这里的诀窍是使用" ",这是一个不匹配任何内容的文件/文件夹的默认内容,以取消包含phpinfo但不包含phpinfo的任何文件/文件夹确切地phpinfo,以便只有一个名为AddDescription "" ...的文件/文件夹才能应用描述。

请注意,您不能使用ViewBag,因为Apache不允许空字符串参数并且会抛出错误。

参考:Apache 2.4 doc

答案 1 :(得分:0)

看起来你可以通过“第一次匹配”来实现。

因此,指令应如下所示:

AddDescription "" *.php
AddDescription "PHP" phpinfo