Czy pliki konfiguracyjne Apache obsługują blokowanie komentowania?

49

Możesz użyć #do komentowania poszczególnych linii. Czy istnieje składnia do komentowania całych bloków?

Zmęczyłem się otaczaniem bloku (konkretnie <Directory>blokiem) <IfModule asdfasdf>...</IfModule>, ale to nie działało.

ripper234
źródło

Odpowiedzi:

67

Natrafiłem na ten wpis podczas wyszukiwania w Google „komentarza bloku Apache”. Później odkryłem nie-perlowe, nieimportowane rozwiązanie z podstawowej dokumentacji Apache (chociaż jestem pewien, że jest to bardzo niezamierzona praktyka). Z podstawowej dokumentacji dla Apache 2.0 http://httpd.apache.org/docs/2.0/mod/core.html widać, że znacznik <IfDefine>z łatwością zignoruje instrukcje, gdy określony parametr nie istnieje:

<IfDefine IgnoreBlockComment>
...
</IfDefine>

To z powodzeniem „skomentuje” wypowiedzi pomiędzy.

garromark
źródło
7

Nie jestem pewien, czy Apache ma tego typu komentarze.

Aby obejść ten problem, możesz użyć instrukcji include w następujący sposób:

twoj_plik.conf:

<Directory>
  ....
</Directory>

Jeśli chcesz skomentować ten blok, musisz po prostu skomentować wiersz dołączania:

#include yourfile.conf
Khaled
źródło
Smutne :( Słyszałem, że NGinx ma łatwiejszą konfigurację.
ripper234
2
Komentarze nie są konfiguracją. Dobry edytor tekstu pozwala także szybko dodawać elementy do wielu linii. W Textmate jest to Option + Przeciągnij.
ceejayoz
2

AFAIK, Apache tego nie obsługuje.

Ale jeśli używasz vim, oto wskazówka (od mojego współpracownika), aby skomentować blok konfiguracji Apache.

Na przykład biorąc pod uwagę ten fragment kodu:

<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>

Umieść kursor pod Dznakiem w <Directory ...>linii początkowej i wpisz następujące polecenie:

V/Dir -> Enter

śledzony przez:

:s/^/#/ -> Enter

  • V - aby podświetlić bieżącą linię
  • /Dir - wybiera cały blok
  • :s/^/#/- umieszcza #na początku każdej linii
kwanty
źródło
4
Myślę, że łatwiej jest po prostu przejść w trybie Visual Block na znaczniku otwierającym, przewinąć w dół do znacznika zamykającego, a następnie wykonać Shift-I (duży i) # Esc.
Janus Troelsen