mirror of
https://github.com/apache/httpd.git
synced 2025-05-30 01:07:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421136 13f79535-47bb-0310-9956-ffa450edef68
151 lines
5.7 KiB
XML
151 lines
5.7 KiB
XML
<?xml version="1.0" encoding="EUC-KR" ?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
|
<!-- English Revision: 151408:420990 (outdated) -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_dir.xml.meta">
|
|
<name>mod_dir</name>
|
|
<description>"마지막 슬래쉬" 리다이렉션을 제공하고 디렉토리
|
|
index 파일을 서비스한다</description>
|
|
<status>Base</status>
|
|
<sourcefile>mod_dir.c</sourcefile>
|
|
<identifier>dir_module</identifier>
|
|
|
|
<summary>
|
|
<p>디렉토리의 index는 다음 둘중 한가지 방법으로 제공된다:</p>
|
|
|
|
<ul>
|
|
<li>사용자가 작성한 보통 <code>index.html</code>이라는
|
|
파일. <directive module="mod_dir">DirectoryIndex</directive>
|
|
지시어는 이 파일의 이름을 지정한다. <module>mod_dir</module>가
|
|
이 지시어를 제공한다.</li>
|
|
|
|
<li>아니라면 서버가 만든 목록. <module>mod_autoindex</module>가
|
|
이 기능을 제공한다.</li>
|
|
</ul>
|
|
<p>두 기능은 서로 별개로 원한다면 자동 index 생성을 완전히
|
|
없앨 (혹은 교체할) 수 있다.</p>
|
|
|
|
<p><code>dirname</code>이 디렉토리라면 서버는 URL
|
|
<code>http://servername/foo/dirname</code> 요청을 받으면
|
|
"마지막 슬래쉬" 리다이렉션을 보낸다. 디렉토리에는 마지막
|
|
슬래쉬가 필요하다. 그래서 <module>mod_dir</module>은
|
|
<code>http://servername/foo/dirname/</code>로 리다이렉션을
|
|
보낸다.</p>
|
|
</summary>
|
|
|
|
<directivesynopsis>
|
|
<name>DirectoryIndex</name>
|
|
<description>클라이언트가 디렉토리를 요청할때 찾아볼 자원 목록</description>
|
|
<syntax>DirectoryIndex
|
|
<var>local-url</var> [<var>local-url</var>] ...</syntax>
|
|
<default>DirectoryIndex index.html</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
<context>directory</context><context>.htaccess</context></contextlist>
|
|
<override>Indexes</override>
|
|
|
|
<usage>
|
|
<p><directive>DirectoryIndex</directive> 지시어는 클라이언트가
|
|
디렉토리명 끝에 /를 붙여서 디렉토리의 index를 요청할때 찾아볼
|
|
자원 목록을 지정한다. <var>Local-url</var>은 요청한 디렉토리에
|
|
상대적인 문서의 (%로 인코딩된) URL이다. 보통은 디렉토리에
|
|
있는 파일명이다. 여러 URL을 지정할 수 있고, 이 경우 서버는
|
|
첫번째로 찾은 파일을 보낸다. 자원을 찾을 수 없고
|
|
<code>Indexes</code> 옵션을 설정하였다면 서버는 직접 디렉토리
|
|
목록을 만든다.</p>
|
|
|
|
<example><title>예제</title>
|
|
DirectoryIndex index.html
|
|
</example>
|
|
|
|
<p>이 경우 <code>http://myserver/docs/</code>를 요청할때
|
|
<code>http://myserver/docs/index.html</code>이 있으면 이를
|
|
보내고, 없다면 디렉토리 목록을 보낸다.</p>
|
|
|
|
<p>문서가 반드시 디렉토리에 상대적일 필요는 없다.</p>
|
|
|
|
<example>
|
|
DirectoryIndex index.html index.txt /cgi-bin/index.pl
|
|
</example>
|
|
|
|
<p>이 경우 디렉토리에 <code>index.html</code>이나
|
|
<code>index.txt</code>가 없으면 CGI 스크립트
|
|
<code>/cgi-bin/index.pl</code>을 실행한다.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>DirectorySlash</name>
|
|
<description>마지막 슬래쉬 리다이렉션을 키고 끈다</description>
|
|
<syntax>DirectorySlash On|Off</syntax>
|
|
<default>DirectorySlash On</default>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
<context>directory</context><context>.htaccess</context></contextlist>
|
|
<override>Indexes</override>
|
|
<compatibility>아파치 2.0.51 이후부터</compatibility>
|
|
|
|
<usage>
|
|
<p><directive>DirectorySlash</directive> 지시어는
|
|
<module>mod_dir</module>가 디렉토리를 가리키는 URL을 수정할지
|
|
여부를 결정한다.</p>
|
|
|
|
<p>사용자가 마지막 슬래쉬없이 디렉토리에 해당하는 자원을
|
|
요청하면, <module>mod_dir</module>는 보통 다음과 같은 이유로
|
|
사용자를 마지막 슬래쉬를 <em>붙인</em> 동일한 자원으로
|
|
리다이렉션한다.</p>
|
|
|
|
<ul>
|
|
<li>사용자는 결국 자원의 정규 URL을 요청하게 된다</li>
|
|
<li><module>mod_autoindex</module>가 올바로 동작한다. 이
|
|
기능이 없다면 이 모듈은 링크에 잘못된 경로를 쓰게 된다.</li>
|
|
<li><directive module="mod_dir">DirectoryIndex</directive>는
|
|
마지막 슬래쉬가 있는 디렉토리 요청<em>만을</em> 처리한다.</li>
|
|
<li>html 페이지에 있는 상대적인 URL 참조가 올바로 동작한다.</li>
|
|
</ul>
|
|
|
|
<p>그런데 이 기능을 원하지 않거<em>나</em> 위에 든 이유가
|
|
당신에게 알맞지 않다면 다음과 같이 리다이렉션을 하지 않을
|
|
수 있다.</p>
|
|
|
|
<example>
|
|
# 아래 보안 경고 참고!<br />
|
|
<Location /some/path><br />
|
|
<indent>
|
|
DirectorySlash Off<br />
|
|
SetHandler some-handler<br />
|
|
</indent>
|
|
</Location>
|
|
</example>
|
|
|
|
<note type="warning"><title>보안 경고</title>
|
|
<p>마지막 슬래쉬 리다이렉션을 끄면 정보가 유출될 수 있다.
|
|
(<code>Options +Indexes</code>) <module>mod_autoindex</module>를
|
|
사용하고 <directive module="mod_dir">DirectoryIndex</directive>를
|
|
(<code>index.html</code> 같은) 유효한 자원으로 설정하였지만
|
|
해당 URL에 다른 특별한 핸들러가 없는 상황을 상상해보라.
|
|
이 경우 마지막 슬래쉬가 있는 요청은 <code>index.html</code>
|
|
파일을 보여준다. <strong>그러나 마지막 슬래쉬가 없는 요청은
|
|
디렉토리 내용을 보여준다</strong>.</p>
|
|
</note>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|