Linux 배포판의 모든 "숨겨진"파일과 디렉토리 (일반적으로 "."로 시작하는 모든 파일)를 단순히 거부하려는 경우 서버 conf 컨텍스트에 배치 할 때 Apache 2.4에서 작동하는 항목은 다음과 같습니다.
<FilesMatch "^\.(.*)$">
Require all denied
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Require all denied
</DirectoryMatch>
그리고 여기에 더 오래된 아파치 2.2 스타일 (같은 정규식, 다른 인증 지시어)이 있습니다 :
<FilesMatch "^\.(.*)$">
Order deny,allow
Deny from all
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Order deny,allow
Deny from all
</DirectoryMatch>
그런 다음에 대해 걱정할 필요가 없습니다 .git
또는 .svn
특히. 그것도 같은 것들을 일치합니다 .htaccess
그리고 .htpasswd
본질적으로.
개인적으로 404 대신 403을 발행하는 것을 좋아하지만 인증 거부 대신 RewriteRule을 쉽게 사용할 수 있습니다.
<FilesMatch "^\.(.*)$">
RewriteRule "^(.*)$" - [R=404,L]
</FilesMatch>
<DirectoryMatch "/\.(.*)">
RewriteRule "^(.*)$" - [R=404,L]
</DirectoryMatch>