Bagi mereka yang hanya ingin menolak semua file "tersembunyi" dan direktori pada distribusi Linux (umumnya semua file dimulai dengan "."), Inilah yang bekerja di Apache 2.4 ketika ditempatkan dalam konteks server conf:
<FilesMatch "^\.(.*)$">
Require all denied
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Require all denied
</DirectoryMatch>
Dan inilah gaya Apache 2.2 yang lebih lama (regex yang sama, hanya arahan auth yang berbeda):
<FilesMatch "^\.(.*)$">
Order deny,allow
Deny from all
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Order deny,allow
Deny from all
</DirectoryMatch>
Maka Anda tidak perlu khawatir .git
atau .svn
secara khusus. Itu juga akan cocok dengan hal-hal seperti .htaccess
dan .htpasswd
secara inheren.
Secara pribadi, saya suka menerbitkan 403 untuk permintaan seperti itu, bukan 404, tetapi Anda dapat dengan mudah menggunakan RewriteRule alih-alih penolakan auth, seperti:
<FilesMatch "^\.(.*)$">
RewriteRule "^(.*)$" - [R=404,L]
</FilesMatch>
<DirectoryMatch "/\.(.*)">
RewriteRule "^(.*)$" - [R=404,L]
</DirectoryMatch>