2010-05-18 6 views

답변

21
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak)$"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 

로드에게 일부 일반적인 확장 프로그램을 사용하여 필요한만큼 추가하십시오. 당신이 정말로 원하는 경우

4
<FilesMatch "\.ext$"> 
    Deny from all 
</FilesMatch> 

FilesMatchDeny

편집에있는 아파치 설명서를 참조하십시오 : Artefacto가 good point을 만드는 당신의 목적을 위해 중요한 경우에,이, (403)하지 (404)를 반환합니다

11

404 (아닌 403), 당신은 mod_rewrite를 사용할 수 있습니다 : RedirectMatch 지시어를 사용하여 확장을 파일로

RewriteEngine on 
RewriteRule \.ext$ - [R=404] 
+0

죄송합니다 - (403) 내가 무엇을 사용해야합니다. 나는 40x라고 말하는 질문을 편집했다. – Stevko

+0

RFC 2616은 자원에 대한 액세스가 금지되어있을 때 404 응답을 허용합니다 (10.4.4 절 참조). 그래서 원래의 질문은 유효했습니다. – Artefacto

+2

[Redirect 404], ref : [.htaccess에 대한 요청은 403 대신에 404를 반환해야합니다.] (http://stackoverflow.com/a/7945851/367456),'RedirectMatch 404', ref : [.git 만들기 디렉토리 웹에 액세스 할 수 없습니다] (http://stackoverflow.com/a/17916515/367456) - 그냥 조금 여기에 클러스터링. – hakre

2

또한 거부 할 수 있습니다 접근이 의지

RedirectMatch 403 ^/.+\.(php|html|gif)$ 

클라이언트가 .php 또는 .html 또는 .gif으로 끝나는 URI를 요청하면 클라이언트에 403 금지 된 오류를 반환합니다. 막대에 |을 사용하여 패턴에 추가 기능을 추가 할 수 있습니다.

0

저는 @Chris Lawlor와 @ starkeen의 답변을 좋아하고 OP는 "40x"에 대해 질문했기 때문에 파일이 존재한다는 사실을 알려주지 않으므로 404 오류로 리디렉션 할 것을 제안합니다.

이 내가 현재 내 프로젝트 중 하나에서 사용하고 무엇을 :

# Hide files not concerning the user 
RedirectMatch 404 \.(htaccess|htpasswd|ini|log|sh|inc|bak|bkp|sql)$ 
관련 문제