Apache配置文件是否支持块注释?


48

您可以#用来注释个别行。是否有注释掉整个块的语法?

我已经厌倦了用围绕该块(特别是一个<Directory>块)<IfModule asdfasdf>...</IfModule>,但这没有用。

Answers:


66

我从Google搜索“ Apache阻止评论”中发现了这篇文章。后来,我从Apache的核心文档中发现了一个非Perl,非导入解决方案(尽管我确信这是非常不希望的做法)。从Apache 2.0的核心文档http://httpd.apache.org/docs/2.0/mod/core.html,您可以看到,<IfDefine>当您指定的参数不存在时,标记将方便地忽略语句:

<IfDefine IgnoreBlockComment>
...
</IfDefine>

这样就可以成功地“注释”中间的语句。


7

我不确定apache是​​否有此类评论。

解决方法是,可以通过以下方式使用include语句:

yourfile.conf:

<Directory>
  ....
</Directory>

当您要注释此块时,只需注释掉包含行:

#include yourfile.conf

悲伤:(我听说nginx的具有更好的更方便的配置。
ripper234

2
注释不是配置。一个好的文本编辑器将使您也可以快速将内容添加到多行中。在Textmate中,是Option + Drag。
ceejayoz 2012年

2

AFAIK,Apache不支持此功能。

但是,如果您使用vim,那么这里是我的同事的一条提示,以注释掉Apache配置块。

例如,给出以下代码段:

<Directory "a/b/c">
    SetEnvIf X-Forwarded-For ^x\.y\.z\.t let_me_in
    Order allow,deny
    allow from env=let_me_in
    ErrorDocument 403 http://google.com
</Directory>

将光标放在D开始<Directory ...>行的字符下方,然后键入以下内容:

V/Dir -> Enter

其次是:

:s/^/#/ -> Enter

  • V -突出显示当前行
  • /Dir -选择整个块
  • :s/^/#/- #在每行的开头放置一个

4
我认为,以Visual Block模式进入开始标记,向下滚动到结束标记,然后执行shift-I(big i)#Esc,会更容易。
Janus Troelsen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.