<-
Apache > HTTP Server > Documentation > Version 2.0 > 모듈

Please note

This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at:

You may follow this link to go to the current version of this document.

아파치 모듈 mod_autoindex

가능한 언어:  en  |  ja  |  ko  |  tr 

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.
설명:자동으로 유닉스의 ls 명령어나 Win32의 dir 쉘명령어와 유사한 디렉토리 목록을 만든다
상태:Base
모듈명:autoindex_module
소스파일:mod_autoindex.c

요약

디렉토리 목록은 얻는 방법은 두가지다:

이 두 기능은 서로 별개로, 원한다면 자동 목록 생성을 완전히 제외할 (혹은 대체할) 수 있다.

자동 목록 생성은 Options +Indexes로 가능하다. 자세한 내용은 Options 지시어를 참고하라.

IndexOptions 지시어에 FancyIndexing 옵션을 주면, 열 이름을 출력할 순서를 바꾸는 링크로 만든다. 이름 링크를 선택하면 그 열의 값 순서로 목록을 다시 만든다. 같은 이름을 반복해서 선택하면 오름차순과 내림차순 사이를 오간다. IndexOptions 지시어의 SuppressColumnSorting 옵션은 이런 열 이름 링크를 만들지 않는다.

"Size(크기)" 순으로 볼때 출력되는 값 순서가 아니라 실제 파일크기 순서임을 주의하라. 즉, 1010 바이트 파일과 1011 바이트 파일은 둘다 "1K"로 보이더라도 항상 1010 바이트 파일이 앞에 나온다.

지시어들

주제

top

Autoindex 요청 아규먼트

아파치 2.0.23는 열순서에 대한 요청 아규먼트를 정리하고, 새로운 옵션들을 추가했다. 출력을 클라이언트가 조절할 수 없도록 만드는 IndexOptions IgnoreClient 옵션이 추가되었다.

열순서 이름은 아래 나온 순서 요청 옵션을 더한 자기참조 링크다. 아래 옵션은 디렉토리 자원에 대한 어떤 요청에도 사용할 수 있다.

'P'attern 아규먼트는 일반적인 IndexIgnore 지시어를 처리한 후에 검사하기때문에, 목록은 다른 autoindex 조건을 따름을 주의하라. mod_autoindex의 요청 아규먼트를 읽어들일때 알 수 없는 옵션을 발견하면 더 이상 읽지않는다. 요청 아규먼트는 위의 표에 따라 만들어야 한다.

header.html 파일에 사용할 수 있는 아래 간단한 예제는 이 옵션들을 설명한다. submit 버턴의 알 수 없는 "X" 아규먼트는 mod_autoindex가 X=Go 전까지 모든 아규먼트를 읽어들임을 확인하기위해 마지막에 사용했다.

<form action="" method="get">
Show me a <select name="F">
<option value="0"> Plain list</option>
<option value="1" selected="selected"> Fancy list</option>
<option value="2"> Table list</option>
</select>
Sorted by <select name="C">
<option value="N" selected="selected"> Name</option>
<option value="M"> Date Modified</option>
<option value="S"> Size</option>
<option value="D"> Description</option>
</select>
<select name="O">
<option value="A" selected="selected"> Ascending</option>
<option value="D"> Descending</option>
</select>
<select name="V">
<option value="0" selected="selected"> in Normal order</option>
<option value="1"> in Version order</option>
</select>
Matching <input type="text" name="P" value="*" />
<input type="submit" name="X" value="Go" />
</form>

top

AddAlt 지시어

설명:파일명으로 선택한 아이콘대신 사용할 파일 설명글
문법:AddAlt string file [file] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

AddAltFancyIndexing에서 파일에 대한 아이콘대신 보일 글을 지정한다. File에는 설명할 파일의 파일 확장자, 파일명 일부, 와일드카드 표현, 전체 파일명을 사용할 수 있다. String에 공백이 들어간다면 따옴표(" 혹은 ')로 묶어야 한다. 클라이언트가 이미지를 볼 수 없거나, 이미지를 읽지않거나, 아이콘을 못 얻은 경우 이 추가 글이 보이게 된다.

예제

AddAlt "PDF file" *.pdf
AddAlt Compressed *.gz *.zip *.Z

top

AddAltByEncoding 지시어

설명:MIME-encoding으로 선택한 아이콘대신 사용할 파일 설명글
문법:AddAltByEncoding string MIME-encoding [MIME-encoding] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

AddAltByEncodingFancyIndexing에서 파일에 대한 아이콘대신 보일 글을 지정한다. MIME-encodingx-compress와 같은 유효한 content-encoding이다. String에 공백이 들어간다면 따옴표(" 혹은 ')로 묶어야 한다. 클라이언트가 이미지를 볼 수 없거나, 이미지를 읽지않거나, 아이콘을 못 얻은 경우 이 추가 글이 보이게 된다.

예제

AddAltByEncoding gzip x-gzip

top

AddAltByType 지시어

설명:MIME content-type으로 선택한 아이콘대신 사용할 파일 설명글
문법:AddAltByType string MIME-type [MIME-type] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

AddAltByTypeFancyIndexing에서 파일에 대한 아이콘대신 보일 글을 지정한다. MIME-typetext/html과 같은 유효한 content-type이다. String에 공백이 들어간다면 따옴표(" 혹은 ')로 묶어야 한다. 클라이언트가 이미지를 볼 수 없거나, 이미지를 읽지않거나, 아이콘을 못 얻은 경우 이 추가 글이 보이게 된다.

예제

AddAltByType 'plain text' text/plain

top

AddDescription 지시어

설명:파일에 대한 설명
문법:AddDescription string file [file] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

이 지시어는 FancyIndexing에서 파일에 대한 설명을 지정한다. File에는 설명할 파일의 파일 확장자, 파일명 일부, 와일드카드 표현, 전체 파일명을 사용할 수 있다. String은 따옴표(")로 묶어야 한다.

예제

AddDescription "The planet Mars" /web/pics/mars.gif

전형적인 기본 설명 필드폭은 23 바이트다. IndexOptions SuppressIcon 옵션을 사용하면 기본폭에 6 바이트를 더 추가하고, IndexOptions SuppressSize 옵션은 7 바이트를, IndexOptions SuppressLastModified 옵션은 19 바이트를 더 추가한다. 그러므로 가장 넓은 설명폭은 55 바이트다.

이 필드의 폭를 바꾸거나 설명의 길이를 무한대로 만드려면 DescriptionWidth IndexOptions 키워드를 참고하라.

조심

AddDescription으로 지정한 설명글에 태그나 character entity(역주; &lt;, &amp; 등을 지칭)같은 HTML을 사용할 수 있다. 그러나 폭때문에 태그가 있는 부분이 짤리게되면 (예를 들어 굵은체 부분 끝이 짤리면) 나머지 디렉토리 목록에 영향을 줄 수 있다.

top

AddIcon 지시어

설명:이름으로 선택한 파일에 사용할 아이콘
문법:AddIcon icon name [name] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

이 지시어는 FancyIndexing에서 name으로 끝나는 파일 옆에 보여줄 아이콘을 지정한다. Icon은 아이콘의 (%-escaped) 상대 URL 혹은 (alttext,url) 형식이다. 여기서 alttext는 그림을 보여줄 수 없는 브라우저가 아이콘대신 사용할 문구이다.

Name에는 디렉토리를 나타내는 ^^DIRECTORY^^, (목록 형식을 올바로 맞추기위해) 빈줄을 나타내는 ^^BLANKICON^^, 파일 확장자, 와일드카드 표현, 파일명 일부 혹은 전체를 사용할 수 있다.

예제

AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm
AddIcon /icons/dir.xbm ^^DIRECTORY^^
AddIcon /icons/backup.xbm *~

가능하면 AddIcon보다는 AddIconByType을 사용해야 한다.

top

AddIconByEncoding 지시어

설명:MIME content-encoding으로 선택한 파일에 사용할 아이콘
문법:AddIconByEncoding icon MIME-encoding [MIME-encoding] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

이 지시어는 FancyIndexing에서 파일 옆에 보여줄 아이콘을 지정한다. Icon은 아이콘의 (%-escaped) 상대 URL 혹은 (alttext,url) 형식이다. 여기서 alttext는 그림을 보여줄 수 없는 브라우저가 아이콘대신 사용할 문구이다.

MIME-encoding는 content-encoding에 해당하는 와일드카드 표현이다.

예제

AddIconByEncoding /icons/compress.xbm x-compress

top

AddIconByType 지시어

설명:MIME content-type으로 선택한 파일에 사용할 아이콘
문법:AddIconByType icon MIME-type [MIME-type] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

이 지시어는 FancyIndexing에서 MIME-type의 파일 옆에 보여줄 아이콘을 지정한다. Icon은 아이콘의 (%-escaped) 상대 URL 혹은 (alttext,url) 형식이다. 여기서 alttext는 그림을 보여줄 수 없는 브라우저가 아이콘대신 사용할 문구이다.

MIME-type은 mime type에 해당하는 와일드카드 표현이다.

예제

AddIconByType (IMG,/icons/image.xbm) image/*

top

DefaultIcon 지시어

설명:특정 아이콘을 설정하지않은 파일에 사용할 아이콘
문법:DefaultIcon url-path
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

DefaultIcon 지시어는 FancyIndexing에서 특정 아이콘을 설정하지않은 파일 옆에 나올 아이콘이다. Icon은 아이콘의 (%-escaped) 상대 URL이다.

예제

DefaultIcon /icon/unknown.xbm

top

HeaderName 지시어

설명:파일목록 위에 삽입할 파일의 이름
문법:HeaderName filename
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

HeaderName 지시어는 파일목록 앞에 삽입할 파일의 이름을 지정한다. Filename은 삽입할 파일명이다.

예제

HeaderName HEADER.html

현재 HeaderName과 ReadmeName 둘 모두 Filename을 접근하려는 디렉토리의 상대 URI 경로로 받아들인다. Filename이 슬래쉬로 시작하면 DocumentRoot에 상대적인 경로로 받아들인다.

예제

HeaderName /include/HEADER.html

Filename에는 major content type이 text/*인 (예를 들어, text/html, text/plain, 등) 문서를 사용해야 한다. 즉, 스크립트의 (출력이 아닌) 실제 파일 type을 다음과 같이 text/html로 지정한다면 filename으로 CGI 스크립트를 지정할 수도 있다:

AddType text/html .cgi

Options MultiViews을 사용하면 내용협상을 한다. filename이 (CGI 스크립트가 아닌) 고정된 text/html 문서이고 options IncludesIncludesNOEXEC 중 하나를 사용한다면 파일을 server-side includes로 처리한다. (mod_include 문서 참고)

HeaderName으로 지정한 파일에 (<html>, <head>, 등) HTML 문서 시작부분이 포함되있다면 IndexOptions +SuppressHTMLPreamble을 사용하여 이 부분을 추가하지않는 것이 좋다.

top

IndexIgnore 지시어

설명:디렉토리 목록에서 숨길 파일목록을 추가한다
문법:IndexIgnore file [file] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

IndexIgnore 지시어는 디렉토리 목록에서 감출 파일목록을 추가한다. File에는 감출 (쉘에서 사용하는) 화일드카드 표현이나 전체 파일명을 사용할 수 있다. 여러 IndexIgnore 지시어를 사용하면 기존의 감출 파일목록을 대체하지않고 목록에 지정한 파일들을 추가한다. 기본적으로 목록은 .을 (현재 디렉토리) 포함한다.

IndexIgnore README .htaccess *.bak *~

top

IndexOptions 지시어

설명:디렉토리 목록의 여러 설정들
문법:IndexOptions [+|-]option [[+|-]option] ...
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

IndexOptions 지시어는 디렉토리 목록을 설정한다. Option은 다음 중 하나이다

DescriptionWidth=[n | *] (아파치 2.0.23 이후)
DescriptionWidth 키워드를 사용하여 문자단위로 설명열의 폭을 지정할 수 있다.
-DescriptionWidth를 지정하면 (혹은 아무것도 지정하지않으면) mod_autoindex가 최적의 폭을 계산한다.
DescriptionWidth=n은 열의 폭을 n 바이트로 고정한다.
DescriptionWidth=*은 열의 폭을 가장 긴 설명글을 담을 수 있는만큼 늘린다.
설정이 짤릴 수 있는 문제는 AddDescription 절을 참고하라.
FancyIndexing
디렉토리의 fancy 목록을 만든다.
FoldersFirst (아파치 2.0.23 이후)
이 옵션을 사용하면 하위디렉토리 목록이 항상 먼저 나오고, 디렉토리에 있는 일반 파일이 뒤에 나온다. 기본적으로 목록은 파일과 하위디렉토리로 나뉘고, 따로 각각의 순서를 정리하여 하위디렉토리들을 먼저 보인다. 예를 들어, 이름 역순으로 정렬하고 FoldersFirst를 사용한다면 하위디렉토리 Zed가 하위디렉토리 Beta 앞에 나오고, 하위디렉토리 Beta는 일반 파일 GammaAlpha 앞에 나온다. 이 옵션은 FancyIndexing을 함께 사용할때만 효과가 있다.
HTMLTable (실험적, 아파치 2.0.23 이후)
이 실험적인 FancyIndexing 옵션은 간단한 HTML 표로 fancy 디렉토리 목록을 만든다. 이 옵션은 오래된 브라우저를 혼란스럽게 할 수 있음을 주의하라. 이 옵션은 WinNT나 다른 utf-8 사용 플래폼에서 파일명이나 설명문의 읽기 순서(왼쪽에서 오른쪽 혹은 오른쪽에서 왼쪽으로)가 다를때 특별히 유용하다.
IconsAreLinks
fancy 목록에서 파일명 링크에 아이콘을 포함한다.
IconHeight[=pixels]
이 옵션을 IconWidth와 같이 사용하면 서버는 파일 아이콘의 img 태그에 heightwidth 속성을 포함한다. 그러면 브라우저는 모든 이미지를 받지않은 상황에서도 페이지 구성을 미리 계산할 수 있다. 옵션에 값을 주지않으면 아파치가 제공하는 아이콘의 표준 높이를 사용한다.
IconWidth[=pixels]
이 옵션을 IconHeight와 같이 사용하면 서버는 파일 아이콘의 img 태그에 heightwidth 속성을 포함한다. 그러면 브라우저는 모든 이미지를 박지않은 상황에서도 페이지 구성을 미리 계산할 수 있다. 옵션에 값을 주지않으면 아파치가 제공하는 아이콘의 표준 폭을 사용한다.
IgnoreCase
이 옵션을 사용하면 대소문자 구별하지않고 이름을 정렬한다. 예를 들어, 이름으로 오름차순이고 IgnoreCase를 사용하면 파일 Zeta는 파일 alfa 뒤에 나온다 (주의: 파일 GAMMA는 항상 파일 gamma 앞에 나온다).
IgnoreClient
이 옵션을 사용하면 mod_autoindex는 순서를 포함하여 클라이언트가 보내는 모든 질의변수를 무시한다. (SuppressColumnSorting을 가정한다.)
NameWidth=[n | *]
NameWidth 키워드는 바이트단위로 파일명 열의 폭을 지정한다.
-NameWidth을 지정하면 (혹은 아무것도 지정하지않으면) mod_autoindex가 최적의 폭을 계산한다.
NameWidth=n는 열의 폭을 n 바이트로 고정한다.
NameWidth=*은 열의 폭을 필요한만큼 늘린다.
ScanHTMLTitles
fancy 목록에서 HTML 문서의 title을 뽑는다. 파일에 AddDescription로 지정한 설명이 없다면 웹서버는 문서의 title 요소값을 읽어들인다. 이 작업은 CPU와 디스크를 많이 사용한다.
SuppressColumnSorting
이 옵션을 사용하면 아파치는 FancyIndexed 디렉토리 목록에서 열 이름을 순서를 바꾸는 링크로 만들지 않는다. 보통은 열 이름을 링크로 만들어서, 열 이름을 선택하면 그 열에 있는 값순서로 디렉토리 목록을 만든다. 아파치 2.0.23 이전에는 순서 아규먼트도 읽지 않았다. 아파치 2.0.23에서는 IndexOptions IgnoreClient를 사용하여 순서 아규먼트를 읽지 않는다.
SuppressDescription
fancy 목록에서 파일 설명을 포함하지 않는다. 기본적으로 어떤 파일 설명도 정의되있지않고, 이 옵션을 사용하면 23 문자 공간을 다른 용도로 사용한다. 파일 설명을 지정하는 방법은 AddDescription을 참고하라. 설명열의 크기를 지정하는 DescriptionWidth 옵션도 참고하라.
SuppressHTMLPreamble
디렉토리에 HeaderName 지시어로 지정한 파일이 있는 경우 모듈은 보통 표준 HTML 시작부분 (<html>, <head>, et cetera) 뒤에 파일 내용을 첨가한다. 그러나 SuppressHTMLPreamble 옵션을 사용하면 처음부터 header 파일 내용을 포함한다. 이 경우 header 파일에는 적절한 HTML 명령이 있어야 한다. header 파일이 없다면 일반적인 시작부분이 만들어진다.
SuppressIcon (아파치 2.0.23 이후)
fancy 목록에서 아이콘을 뺀다. SuppressIconSuppressRules를 같이 사용하면, (FancyIndexed 목록이 사용한) pre 안에 imghr 요소 사용을 금지한 마지막 표준인 HTML 3.2에 알맞은 출력이 된다.
SuppressLastModified
fancy 목록에서 마지막 수정일을 표시하지 않는다.
SuppressRules (아파치 2.0.23 이후)
디렉토리 목록에서 수평줄을 (hr 요소) 사용하지 않는다. SuppressIconSuppressRules를 같이 사용하면, (FancyIndexed 목록이 사용한) pre 안에 imghr 요소 사용을 금지한 마지막 표준인 HTML 3.2에 알맞은 출력이 된다.
SuppressSize
fancy 목록에서 파일크기를 표시하지 않는다.
TrackModified (아파치 2.0.23 이후)
디렉토리 목록의 HTTP 헤더에 Last-Modified와 ETag 값을 포함한다. 이 옵션은 운영체제와 파일시스템에서 적절한 stat() 결과를 얻을 수 있을때만 유효하다. 유닉스 시스템과 OS2의 JFS, Win32의 NTFS에서는 가능하다. 예를 들어, OS2와 Win32의 FAT은 불가능하다. 이 기능을 사용하면 클라이언트나 프록시는 HEAD 요청을 사용하여 파일목록의 변화를 추적할 수 있다. 어떤 운영체제는 새로운 파일과 삭제한 파일을 올바로 추적하지만, 디렉토리에 있는 파일의 크기나 날짜 변화를 추적하지 못함을 주의하라. 모든 유닉스 플래폼에서 기존 파일의 크기나 날짜 변화시 Last-Modified 헤더가 바뀌지않는다. 이런 변화가 중요하다면 이 옵션을 사용하지 마라.
VersionSort (아파치 2.0a3 이후)
VersionSort 키워드는 버전 번호를 포함한 파일명을 자연스럽게 정렬한다. 문자 부분은 정상적인 순서를 정렬하지만, 파일과 설명에 있는 숫자 부분은 숫자값으로 비교한다.

예제:

foo-1.7
foo-1.7.2
foo-1.7.12
foo-1.8.2
foo-1.8.2a
foo-1.12

수가 0으로 시작하면, 그 수를 분수로 취급한다:

foo-1.001
foo-1.002
foo-1.030
foo-1.04

XHTML (아파치 2.0.49 이후)
XHTML 키워드를 사용하면 mod_autoindex는 HTML 3.2 대신 XHTML 1.0 코드를 생성한다.
점진적인 IndexOptions

아파치 1.3.3에서 IndexOptions 지시어 처리방식이 크게 변화되었다. 특별히:

  • 이제 한 디렉토리에 대한 여러 IndexOptions 지시어들을 서로 결합한다. 다음의 결과는:

    <Directory /foo> IndexOptions HTMLTable
    IndexOptions SuppressColumnsorting
    </Directory>

    다음과 같다

    IndexOptions HTMLTable SuppressColumnsorting

  • (예를 들어, 키워드 앞에 +-를 붙이는) 점진적인 문법이 추가되었다.

키워드 앞에 '+'나 '-'가 붙을때마다 해당 키워드가 현재 (상위 디렉토리에서 상속되었을) IndexOptions 설정에 반영된다. 그러나 앞에 아무것도 없는 키워드를 만나면 아직까지 상속되거나 점진적으로 변경된 설정을 모두 지운다. 다음 예제를 살펴보자:

IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize

앞에 아무것도 없는 FancyIndexing이 이전의 점진적인 설정을 지워버렸지만 설정이 다시 추가되여 결과는 IndexOptions FancyIndexing +SuppressSize와 같다.

특정 디렉토리에 대해 무조건적인 IndexOptions를 설정하려면 키워드 앞에 +-를 사용하지말고 상속된 설정을 지운다.

top

IndexOrderDefault 지시어

설명:디렉토리 목록의 기본 순서를 설정한다
문법:IndexOrderDefault Ascending|Descending Name|Date|Size|Description
기본값:IndexOrderDefault Ascending Name
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

IndexOrderDefault 지시어는 FancyIndexing 목록 옵션과 함께 사용한다. 기본적으로 fancyindexed 디렉토리 목록은 파일명 오름차순이다. IndexOrderDefault는 이 초기 순서를 변경할 수 있다.

IndexOrderDefault는 두 아규먼트를 받는다. 첫번째는 순서의 방향을 지시하는 Ascending (오른차순) 이나 Descending (내림차순) 중 하나다. 두번째 아규먼트는 일차 순서를 나타내는 키워드 Name, Date, Size, Description 중 하나다. 이차 순서는 항상 파일명 오름차순이다.

이 지시어와 SuppressColumnSorting 목록 옵션을 같이 사용하면 특정 순서로만 디렉토리 목록을 만든다. 이 경우 클라이언트는 다른 순서로 디렉토리 목록을 요청하지 못한다.

top

ReadmeName 지시어

설명:파일목록 마지막에 삽입할 파일의 이름
문법:ReadmeName filename
사용장소:주서버설정, 가상호스트, directory, .htaccess
Override 옵션:Indexes
상태:Base
모듈:mod_autoindex

ReadmeName 지시어는 파일목록 끝에 삽입할 파일의 이름을 지정한다. Filename은 포함할 파일명이고, 목록을 만들려는 위치의 상대경로로 받아들인다. Filename이 슬래쉬로 시작하면 DocumentRoot에 상대경로로 받아들인다.

예제

ReadmeName FOOTER.html

예제 2

ReadmeName /include/FOOTER.html

이 동작을 자세히 설명한 HeaderName도 참고하라.

가능한 언어:  en  |  ja  |  ko  |  tr