![Apache 配置文件是否支持块注释?](https://linux22.com/image/571498/Apache%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81%E5%9D%97%E6%B3%A8%E9%87%8A%EF%BC%9F.png)
您可以使用#
注释掉个别行。是否有注释掉整个块的语法?
我已经尝试过用 围绕块(特别是<Directory>
块)<IfModule asdfasdf>...</IfModule>
,但是那没有用。
答案1
我在 Google 搜索“Apache block comment”时偶然发现了这篇文章。后来,我从 Apache 的核心文档中发现了一个非 perl、非导入的解决方案(尽管我确信这是非常不合时宜的做法)。来自 Apache 2.0 的核心文档http://httpd.apache.org/docs/2.0/mod/core.html<IfDefine>
,你可以看到当你指定的参数不存在时,标签会轻易地忽略语句:
<IfDefine IgnoreBlockComment>
...
</IfDefine>
这样就可以成功“注释”掉中间的语句。
答案2
我不确定 apache 是否有这种类型的评论。
作为一种解决方法,您可以按以下方式使用 include 语句:
你的文件.conf:
<Directory>
....
</Directory>
当你想注释掉这个块时,你只需要注释掉包含行:
#include yourfile.conf
答案3
据我所知,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/^/#/
#
-在每行开头添加