답변:
다음 줄을 포함하는 .htaccess 파일을 만듭니다.
Options -Indexes
하나의 옵션입니다. 다른 옵션은 아파치 구성 파일을 편집하는 것입니다.
이렇게하려면 먼저 다음 명령을 사용하여 열어야합니다.
vim /etc/httpd/conf/httpd.conf
그런 다음 행을 찾으십시오. 옵션 색인 FollowSymLinks
해당 줄을 다음과 같이 변경하십시오. Options FollowSymLinks
마지막으로 파일을 저장하고 종료 한 후 다음 명령으로 Apache 서버를 다시 시작하십시오.
sudo service httpd restart
.htaccess
해제에 의해 힘을. AllowOverride
지침을 확인하십시오 . 이에 설정되어있는 경우 None
, 다음 .htaccess
꺼집니다. 을 설정하여 켤 수 있습니다 AllowOverride All
. 더 정확하게 All
말하면 모든 Apache 지시문을 의미합니다.
이를 수행하는 가장 좋은 방법은 웹 서버 apache2로 사용하지 않는 것입니다. 내 우분투 14.X에서-오픈 /etc/apache2/apache2.conf
변경
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
에
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
그런 다음 아파치를 다시 시작하십시오.
sudo service apache2 reload
이것은 apache2가 제공하는 모든 폴더에서 디렉토리 목록을 비활성화합니다.
-Indexes
FollowSymLinks
apachectl configtest
추가 한 후 실행 Options -Indexes FollowSymLinks
하면 다음 오류가 발생합니다. "모든 옵션은 + 또는-로 시작해야합니다. 그렇지 않으면 옵션이 없습니다." 따라서, 무엇을 할 일을하는 것입니다Options -Indexes +FollowSymLinks
앞서 언급 한 두 가지 방법 ( /etc/apache2/apache2.conf 편집 또는 .htaccess 파일에 Options -Indexes 추가) 외에 다른 방법이 있습니다.
a2dismod autoindex
나중에 apache2 서버를 다시 시작하십시오.
sudo service apache2 restart
a2dismod -f autoindex
에 대한 비 차단 명령 실행.
Alias
아파치가 제공하는 폴더와 다른 경로에서 작동합니다 .
.htaccess
파일 에서 수행 할 수 있도록 요청되었습니다 (가장 성능이 좋지는 않지만 공유 호스팅 계정이나 바쁜 sysadmins에서 종종 유일한 옵션입니다).
당신은 빈 파일을 배치 할 수 있습니다 index.html
나열하지 않으려는 각 디렉토리에 . 여기에는 몇 가지 장점이 있습니다.
.htaccess
파일 에게 "오류 500-내부 서버 오류"메시지가 많이 나타날 수 있습니다.이론적으로, 자동 색인 생성은 다른 파일 ( DirectoryIndex
옵션에 의해 제어 됨)에 의해 트리거 될 수 있지만 실제 환경에서는 아직 발생하지 않았습니다.
index.html
주로 정의 된 DirectoryIndex 지시문 으로 만 작동 할 수 있습니다 .
중요한 것은 안전한 아파치 웹 서버를 설정하는 것입니다 디렉토리 탐색을 비활성화하는 것입니다. 기본적으로 아파치에는이 기능이 활성화되어 있지만 실제로 필요한 경우가 아니면 항상 비활성화하는 것이 좋습니다. 아파치 폴더에서 httpd.conf 파일을 열고 다음과 같은 줄을 찾으십시오.
Options Includes Indexes FollowSymLinks MultiViews
그런 다음 단어 색인을 제거하고 파일을 저장하십시오. 아파치를 다시 시작하십시오. 그게 다야
@GauravKachhadiya의 답변을 완료하려면 :
IndexIgnore *.jpg
"숨기기 만" 인덱싱에서 .jpg 확장자 파일 합니다.
IndexIgnore 지시문은 와일드 카드 표현식을 사용하여 디렉토리 및 파일과 일치시킵니다.
별표 문자 인 경우 문자열의 모든 문자와 일치합니다 (예 : foo 또는 foo.extension). 다음 예에서 디렉토리 목록을 끄고 색인에 파일 또는 디렉토리가 표시되지 않습니다.
색인 무시 *
또는 디렉토리 목록에서 임시 파일을 숨기려면 다음을 사용할 수 있습니다.
IndexIgnore *.php
* .php =>는 모든 문자로 시작하고 .php로 끝나는 문자열과 일치합니다
위의 예는 .php로 끝나는 모든 파일을 숨 깁니다.