내 웹서버에서 일부 합리적인 예외를 제외한 모든 파일을 차단하고 싶습니다. 작업을 수행하는 다음 Filesmatch 지시문이 있습니다.
<FilesMatch "(?<!\.txt|\.htm|\.html|\.css|\.php|\.js|\.jpg|\.png|\.gif|\.ico|\.svg|\.eot|\.ttf|\.woff|\.otf)$">
Order Allow,Deny
Deny from All
</FilesMatch>
이 FilesMatch는 부정적인 LookBehind 정규 표현식을 사용합니다.http://www.regular-expressions.info/lookaround.html. 명시된 확장자를 가진 파일을 제외한 모든 파일을 차단합니다.
이로 인해 디렉터리 기본 문서(index.html)에 대해서도 403 Forbidden이 발생합니다. 이것은 내가 원하는 것이 아닙니다. 누군가 도와줄 수 있나요? 기본 문서 조회는 어떻게 작동하나요? 일부를 제외하고 모두 차단하는 또 다른 솔루션이 있나요? LogLevel 디버그로 Apache2의 오류 로그를 살펴봤지만 기본 문서를 요청할 때 "클라이언트가 서버 구성에 의해 거부되었습니다"라는 메시지만 표시됩니다. (index.html 작업을 명시적으로 요청함)
편집: Location 지시문을 사용하여 이에 대한 해결책이 있습니다. 보다FilesMatch를 사용하여 보안 강화 그래서 내 문제는 해결되었지만 여전히 FilesMatch에서 작동하지 않는 이유를 알고 싶습니다.