【问题标题】:Apache2 AddDescription match exact file/directory nameApache2 AddDescription 匹配确切的文件/目录名称
【发布时间】:2014-07-03 12:27:49
【问题描述】:

我正在尝试向(apache 生成的)目录列表添加描述。但是我想不出一种方法来让描述文本仅应用于文件/目录名称的完全匹配。

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

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) 说“文件是要描述的文件的文件扩展名、部分文件名、通配符表达式或完整文件名。” - 所以不可能只匹配完整的文件/目录名称?

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

【问题讨论】:

    标签: apache


    【解决方案1】:

    你可以这样做:

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

    Apache 应用第一个匹配的规则并跳过任何后续规则。这里的技巧是使用" ",它是不匹配任何内容的文件/文件夹的默认内容,以使包含phpinfo 但不完全是phpinfo 的任何文件/文件夹无效,因此只有一个完全命名为 phpinfo 的文件/文件夹会应用描述。

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

    参考:Apache 2.4 doc

    【讨论】:

      【解决方案2】:

      看起来你可以通过“第一击匹配”来做到这一点。

      所以,指令应该是这样的:

      AddDescription "" *.php
      AddDescription "PHP" phpinfo
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        • 2016-09-04
        • 1970-01-01
        • 2022-08-17
        相关资源
        最近更新 更多