Các tệp cấu hình Apache có hỗ trợ bình luận khối không?


49

Bạn có thể sử dụng #để bình luận ra từng dòng riêng lẻ. Có một cú pháp để bình luận ra toàn bộ khối?

Tôi đã mệt mỏi với khối (cụ thể là một <Directory>khối) với <IfModule asdfasdf>...</IfModule>, nhưng nó không hoạt động.

Câu trả lời:


67

Tôi đã xem qua bài đăng này từ một tìm kiếm của Google cho "bình luận khối Apache". Sau đó, tôi đã phát hiện ra một giải pháp không nhập khẩu, không nhập từ tài liệu cốt lõi của Apache (mặc dù tôi chắc chắn đây là cách thực hành không có chủ đích). Từ tài liệu cốt lõi cho Apache 2.0 http://httpd.apache.org/docs/2.0/mod/core.html , bạn có thể thấy rằng thẻ <IfDefine>sẽ tự động bỏ qua các câu lệnh khi tham số bạn chỉ định không tồn tại:

<IfDefine IgnoreBlockComment>
...
</IfDefine>

Vì vậy, nó sẽ "bình luận" thành công các tuyên bố ở giữa.


7

Tôi không chắc nếu apache có loại bình luận như vậy.

Như một giải pháp thay thế, bạn có thể sử dụng câu lệnh bao gồm theo cách sau:

yourfile.conf:

<Directory>
  ....
</Directory>

Khi bạn muốn bình luận khối này, bạn chỉ cần bình luận ra dòng bao gồm:

#include yourfile.conf

Buồn :( Tôi đã nghe NGinx có cấu hình dễ dàng hơn.
ripper234

2
Nhận xét không cấu hình. Một trình soạn thảo văn bản tốt cũng sẽ cho phép bạn nhanh chóng thêm nội dung vào nhiều dòng. Trong Textmate, đó là Tùy chọn + Kéo.
ceejayoz

2

AFAIK, Apache không hỗ trợ điều này.

Nhưng, nếu bạn đang sử dụng vim, đây là một mẹo (từ đồng nghiệp của tôi) để nhận xét khối cấu hình Apache.

Chẳng hạn, được đưa ra đoạn trích này:

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

Đặt con trỏ bên dưới Dký tự ở <Directory ...>dòng mở và gõ như sau:

V/Dir -> Enter

theo dõi bởi:

:s/^/#/ -> Enter

  • V - để làm nổi bật dòng hiện tại
  • /Dir - chọn toàn bộ khối
  • :s/^/#/- đặt một #ở đầu mỗi dòng

4
Tôi nghĩ việc chuyển sang chế độ Visual Block trên thẻ mở sẽ dễ dàng hơn, cuộn xuống thẻ đóng và sau đó thực hiện shift-I (big i) # Esc.
Janus Troelsen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.