Đối với những người muốn đơn giản từ chối tất cả các tệp và thư mục "ẩn" trên bản phân phối Linux (nói chung là tất cả các tệp bắt đầu bằng "."), Đây là những gì hoạt động trên Apache 2.4 khi được đặt trong ngữ cảnh máy chủ:
<FilesMatch "^\.(.*)$">
Require all denied
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Require all denied
</DirectoryMatch>
Và đây là kiểu Apache 2.2 cũ hơn (cùng regex, chỉ là các lệnh xác thực khác nhau):
<FilesMatch "^\.(.*)$">
Order deny,allow
Deny from all
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Order deny,allow
Deny from all
</DirectoryMatch>
Sau đó, bạn không phải lo lắng về .git
hoặc .svn
cụ thể. Điều đó cũng sẽ phù hợp với những thứ như .htaccess
và .htpasswd
vốn có.
Cá nhân, tôi thích phát hành 403 cho các yêu cầu như vậy thay vì 404, nhưng bạn có thể dễ dàng sử dụng RewriteRule thay vì từ chối xác thực, như vậy:
<FilesMatch "^\.(.*)$">
RewriteRule "^(.*)$" - [R=404,L]
</FilesMatch>
<DirectoryMatch "/\.(.*)">
RewriteRule "^(.*)$" - [R=404,L]
</DirectoryMatch>