สำหรับผู้ที่ต้องการเพียงแค่ปฏิเสธไฟล์และไดเรกทอรี "ที่ซ่อนอยู่" ทั้งหมดในการแจกจ่าย Linux (โดยทั่วไปไฟล์ทั้งหมดที่ขึ้นต้นด้วย ".") นี่คือสิ่งที่ใช้งานได้กับ Apache 2.4 เมื่ออยู่ในบริบทของเซิร์ฟเวอร์:
<FilesMatch "^\.(.*)$">
Require all denied
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Require all denied
</DirectoryMatch>
และนี่คือสไตล์ Apache 2.2 ที่เก่ากว่า (regex เดียวกันเพียงคำสั่งการตรวจสอบสิทธิ์ที่แตกต่างกัน):
<FilesMatch "^\.(.*)$">
Order deny,allow
Deny from all
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Order deny,allow
Deny from all
</DirectoryMatch>
จากนั้นคุณไม่ต้องกังวล.git
หรือ.svn
เฉพาะเจาะจง ที่จะตรงกับสิ่งที่ชอบ.htaccess
และ.htpasswd
โดยเนื้อแท้
โดยส่วนตัวแล้วฉันชอบออก 403s สำหรับคำขอดังกล่าวแทนที่จะเป็น 404 แต่คุณสามารถใช้ RewriteRule แทนที่จะปฏิเสธการรับรองความถูกต้องเช่น:
<FilesMatch "^\.(.*)$">
RewriteRule "^(.*)$" - [R=404,L]
</FilesMatch>
<DirectoryMatch "/\.(.*)">
RewriteRule "^(.*)$" - [R=404,L]
</DirectoryMatch>