2010-02-02 3 views
18

.htaccess가있는 파일에 대한 액세스를 비활성화 할 수는 있지만 여러 파일을 볼 수 없도록하는 방법을 알지 못합니다 (직접 포함하지 않음).htaccess는 특정 파일에 대한 액세스를 거부합니까? 하나 이상

그들은 .php이므로 '이 t은 (예를 들어 온라인 유일한 튜토리얼처럼 ..) 파일 형식을 사용하지 예를 들어

<FILES ... ? 

</FILES> 

또는 뭔가 ..이 "home.php, file.php, test.php는"어떻게 세에 대한 액세스를 허용하지 않습니다 그 태그가있는 파일들? 또는 유사한, 제발 도와주세요!

답변

24

, 당신은 FilesMatch 대신 파일, 예를 사용할 수 있습니다

<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$> 
... 
</FilesMatch> 
+0

완벽한, 각 파일 이름에 대한 파이핑을 좋아합니다. 고맙습니다. –

+0

주의 사항 : /test.php를 제외하고 /pest/php.bp 파일을 제외 시키려면 문자열의 시작과 끝을 사용하십시오. – Residuum

+1

이것은 일주일 내내 가장 유용한 것입니다. 허락하신다면, 그것은 월요일 오후 2 시가 지나지 만 여전히 있습니다. – Imperative

11

는 그 파일 하나 하나 제외해야 할 것 같은데 :

<files home.php> 
Deny/Allow/Whatever 
</files> 
<files file.php> 
... 

당신은 <files> 또는 something**.gif를 사용할 수 있지만 home.php, file.php 및 test.php로 정말 수 없습니다 "*"로 그룹 지어지면 아마도 이것이 유일한 방법 일 것입니다. 정규 표현식을 기반으로 파일을 제외 할 경우

0

이후 아파치 2.4

<FilesMatch "\.htaccess|config\.php"> 

    Require all denied 

</FilesMatch> 

대신

<FilesMatch "\.htaccess|config\.php"> 

    Order allow,deny 
    Deny from all 

</FilesMatch> 
관련 문제