[apache] htaccess로 디렉토리 목록 거부

: 나는 폴더, 예를 들어이 /public_html/Davood/
예를 들어, 폴더에 너무 많은 하위 폴더를 : /public_html/Davood/Test1/, /public_html/Davood/Test1/Test/, /public_html/Davood/Test2/, …

/public_html/Davood/디렉토리 목록 /Davood및 하위 폴더 를 거부하려면 htaccess 파일을 추가하고 싶습니다. 가능합니까?



답변

옵션-색인 은 디렉토리 목록을 방지하기 위해 작동해야합니다.

.htaccess 파일을 사용하는 경우 기본 아파치 구성 파일 에 “allowoverride options”설정이 있는지 확인하십시오 .


답변

.htaccess해당 디렉토리 의 파일에 이것을 추가해보십시오 .

Options -Indexes

이것은 더 많은 정보가 있습니다.


답변

경우 Options -Indexes브라이언 Drewery 제안대로 작동하지 않습니다, 당신은 빈의 index.php 파일을 생성하는 재귀 적 방법을 작성할 수 있습니다.

보호하고 싶은 기본 폴더 안에 넣으십시오. 어떤 이름이든 지정할 수 있습니다 (index.php를 권장합니다)

<?php

recurse(".");

function recurse($path){
    foreach(scandir($path) as $o){
        if($o != "." && $o != ".."){
            $full = $path . "/" . $o;
            if(is_dir($full)){
                if(!file_exists($full . "/index.php")){
                    file_put_contents($full . "/index.php", "");
                }
                recurse($full);
            }
        }
    }
}

?>

이러한 빈 index.php 파일은 쉽게 삭제하거나 덮어 쓸 수 있으며 디렉토리가 나열되지 않도록합니다.


답변

금지 된 오류를 표시하려면 .htaccess 파일에 다음 행을 포함하십시오.

Options -Indexes

파일을 색인화하고 몇 가지 정보와 함께 표시하려면 다음을 사용하십시오.

IndexOptions -FancyIndexing

특정 확장을 표시하지 않으려면 다음을 수행하십시오.

IndexIgnore *.zip *.css


답변

옵션-인덱스 는 나에게 완벽하게 작동합니다.

다음은 .htaccess파일입니다.

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes <---- This Works for Me :)
    </IfModule>


   ....etc stuff

</IfModule>

이전 : 여기에 이미지 설명 입력

이후 :

여기에 이미지 설명 입력


답변

두 가지 방법이 있습니다.

  1. .htaccess 사용 : Options -Indexes

  2. 빈 index.html 만들기


답변

Options -Indexes

디렉토리 색인 목록을 허용하지 않으려는 현재 디렉토리에 .htaccess 파일을 만들어야합니다. 그러나 .htaccess 코드의 재귀에 대해 몰라 죄송합니다.

시도 해봐.