【问题标题】:How to comment out whole sections of a .htaccess file?如何注释掉 .htaccess 文件的整个部分?
【发布时间】:2016-06-02 17:39:10
【问题描述】:

是否可以注释掉 .htaccess 文件的一个或多个部分,就像在各种编程语言中使用 /* 和 */ 一样?

【问题讨论】:

    标签: apache .htaccess comments


    【解决方案1】:

    严格来说,.htaccess 文件只允许单行 cmets:行首的井号 (#) 让解析器知道该行应该被忽略,即:

    # this is a comment in an .htaccess file and many other scripting languages
    

    但是,从实际角度来看,可以将任意数量的连续行包装在一个 IF 块中(可从 Apache 2.4 获得)。 这有效地禁用了块内的行。例如:

    <IF "false">
    ...disabled directives...
    </IF>
    

    话虽如此,许多编程语言中的多行注释将允许或多或少包含其中的任何内容,即简单的英语而不是可行的代码。 相反,上面提到的 IF 块的内容必须由正确的 .htaccess 指令和常规的单行 cmets 组成 - 否则会产生 http 500 错误。

    【讨论】:

      【解决方案2】:

      扩展并给出Manu3D 答案的示例,您可以将评论内容封装到FilesMatch directive 并使用不太可能的文件名进行匹配。

      <FilesMatch "index-sbrubles123land9897Brazil\.(php?)$">
          #commented content here
      </FilesMatch>
      

      但是,我会避免在生产环境中使用许多 cmets,尤其是这种“人造多行注释”技术。我认为 Apache 花在解析 .htaccess 文件上的时间越少越好(越不容易出错)。

      并且不要忘记,无论如何,您不能在此错误评论中使用文本或任何无效的 apache 语法。暂时或有条件地禁用其他指令会很有帮助,但不要评论文本。

      【讨论】:

      • 关于 Apache 解析 cmets 需要多长时间的任何数据?
      • 没有数据,只有经验。
      【解决方案3】:

      制作许多文件,进行测试并将正确的文件投入生产,其他文件作为备份存储以防万一。我认为这是最优雅的方式,因为 Apache

      【讨论】:

      • 嗨!您提出的答案似乎没有直接回答用户的问题,因为他要求的是块式 cmets,而不是他应该使用什么工作流程来管理 htaccess 文件。当然你的回答是有效的,但是对于另一个问题:)
      猜你喜欢
      • 2013-01-08
      • 2018-02-19
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 2023-03-12
      • 1970-01-01
      • 2017-11-04
      相关资源
      最近更新 更多