Назад | Перейти на главную страницу

Поддерживают ли файлы конфигурации Apache блочное комментирование?

Ты можешь использовать # закомментировать отдельные строки. Есть ли синтаксис для комментирования целых блоков?

Я устал окружать квартал (особенно <Directory> блок) с <IfModule asdfasdf>...</IfModule>, но это не сработало.

Я наткнулся на этот пост в поисковике Google по запросу "комментарий блока Apache". Позже я обнаружил решение, не связанное с Perl и не требующее импорта, из основной документации Apache (хотя я уверен, что это очень нежелательная практика). Из основной документации для Apache 2.0 http://httpd.apache.org/docs/2.0/mod/core.html, вы можете видеть, что тег <IfDefine> будет легко игнорировать инструкции, если указанный вами параметр не существует:

<IfDefine IgnoreBlockComment>
...
</IfDefine>

Так что мы успешно "закомментируем" промежуточные утверждения.

Я не уверен, есть ли у apache такие комментарии.

В качестве обходного пути вы можете использовать инструкцию include следующим образом:

yourfile.conf:

<Directory>
  ....
</Directory>

Если вы хотите прокомментировать этот блок, вам просто нужно закомментировать строку include:

#include yourfile.conf

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 -> Войти

с последующим:

:s/^/#/ -> Войти

  • V - выделить текущую строку
  • /Dir - выбирает весь блок
  • :s/^/#/ - ставит # в начале каждой строки