DirectoryIndex not allowed here
.htaccess에서 허용되지 않은 DirectoryIndex 지시어를 사용했거나 해당 지시어를 허용할 만큼 AllowOverride가 설정되지 않았을 때 Apache 오류 로그에 표시될 수 있는 메시지입니다.
빠른 답변
- 우선 확인할 원인
- `DirectoryIndex not allowed here`는 .htaccess에서 해당 지시어가 허용되지 않거나, 사용한 지시어에 필요한 수준으로 `AllowOverride`가 설정되지 않았을 수 있음을 나타냅니다.
- 먼저 확인할 항목
- httpd 오류 로그에서 `DirectoryIndex not allowed here` 문자열이 포함된 항목을 확인합니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
- 출처 확인일
- 2026-07-30
- 최종 검토
- 2026-07-27
- 수정일
- 2026-07-27
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 서버 5xx 응답
- 애플리케이션 오류 메시지
먼저 확인할 항목
httpd 오류 로그에서 `DirectoryIndex not allowed here` 문자열이 포함된 항목을 확인합니다.
사용한 지시어의 Apache 문서에서 .htaccess 허용 여부와 필요한 `AllowOverride` 값을 확인합니다.
오류가 난 .htaccess 파일과 상위 Directory 설정에서 DirectoryIndex 지시어와 현재 AllowOverride 값을 읽기 전용으로 확인합니다.
한 지시어 또는 Directory 설정만 변경했다면 같은 URL을 다시 요청해 오류 로그의 메시지가 사라졌는지 확인합니다.
피해야 할 조치
주의
- AllowOverride 범위를 넓히면 .htaccess에서 허용되는 설정 범위가 커집니다. 현재 설정을 기록하고 승인된 서버 운영자만 변경합니다.
- 오류가 난 지시어 외의 .htaccess 규칙을 함께 바꾸지 않습니다.
환경별 원인과 조치
확인
- 문서 접근 시 서버 오류가 발생하면 httpd 오류 로그에서
DirectoryIndex not allowed here문자열이 포함된 항목을 확인합니다. - 오류가 난
.htaccess파일과 상위 Directory 설정에서DirectoryIndex지시어와 현재AllowOverride값을 읽기 전용으로 확인합니다. - 해당 문자열이 확인되면 .htaccess에서 사용한 지시어가 허용되지 않는 지시어인지, 또는 그 지시어에 필요한
AllowOverride수준이 적용되어 있는지 해당 지시어의 Apache 문서에서 확인합니다.
판정
- 오류 로그에
DirectoryIndex not allowed here가 있으면 이 문제에 해당합니다. - 원문은 이 메시지가 지시어 자체가 .htaccess에서 허용되지 않는 경우 또는
AllowOverride수준이 부족한 경우를 나타낼 수 있다고 설명합니다.
재확인과 주의
한 지시어 또는 Directory 설정만 변경한 뒤 같은 URL을 다시 요청해 오류가 사라졌는지 확인합니다. AllowOverride 범위를 넓히면 .htaccess에서 허용되는 설정 범위가 커지므로 현재 설정을 기록하고 승인된 서버 운영자만 변경해야 합니다.
출처: Apache HTTP Server Tutorial: .htaccess files (새 창에서 열림)
관찰값 기록
문제가 발생한 URL 또는 화면, 표시 시각, 운영 환경과 최근 변경 사항을 먼저 기록합니다. 화면이나 로그에 오류 문구가 일부만 보이면 앞뒤 문장을 보존하고 비밀번호·토큰·쿠키·개인정보는 가립니다.
다음 항목을 실제 값과 함께 확인합니다.
- httpd 오류 로그에서
DirectoryIndex not allowed here문자열이 포함된 항목을 확인합니다. - 사용한 지시어의 Apache 문서에서 .htaccess 허용 여부와 필요한
AllowOverride값을 확인합니다. - 오류가 난 .htaccess 파일과 상위 Directory 설정에서 DirectoryIndex 지시어와 현재 AllowOverride 값을 읽기 전용으로 확인합니다.
- 한 지시어 또는 Directory 설정만 변경했다면 같은 URL을 다시 요청해 오류 로그의 메시지가 사라졌는지 확인합니다.
판정 기준
오류 문구가 일치해도 같은 원인이 확정되는 것은 아닙니다. 웹서버·런타임·운영체제·플랫폼과 최근 변경 사항을 비교하고, 기대한 관찰값이 나오지 않으면 다음 단계로 넘어가지 않습니다. 이 문서는 출처가 확인한 범위만 설명하며, 범위를 벗어난 원인과 조치는 단정하지 않습니다.
안전한 다음 확인
설정·권한·데이터를 변경하기 전에 백업과 되돌리기 방법을 기록합니다. 운영 환경의 방화벽 전체 해제, 인증서 검증 우회, 데이터 삭제, 비밀값 공개를 기본 조치로 사용하지 않습니다. 확인 결과가 문서의 조건과 다르면 관련 Platform·Component 문서와 공식 출처를 먼저 확인합니다.
원인 분포
[Observation] 입력된 3건의 사례 모두 .htaccess에서 DirectoryIndex를 사용하려는 상황에서 AllowOverride 제한이 원인으로 제시되었습니다.
[Observation] 사례 1은 Indexes 유형 누락, 사례 2는 AllowOverride None, 사례 3은 호스트의 AllowOverride 제한을 구체적으로 언급합니다.
[Observation] 이는 입력된 사례 기준의 분포이며, 전체 Apache 환경의 실제 발생 빈도를 의미하지 않습니다.
환경 매트릭스
| 사례 | 환경 또는 애플리케이션 | 설정 위치·상황 | 언급된 제한 또는 조치 |
|---|---|---|---|
| 사례 1 | Ubuntu 22.04 XAMPP, WordPress 하위 디렉터리 | .htaccess의 DirectoryIndex index.html | VirtualHost에서 Indexes 허용 또는 AllowOverride All |
| 사례 2 | Apache2 | .htaccess의 DirectoryIndex home.php | AllowOverride None 확인 후 vhost에 DirectoryIndex 설정 또는 디렉터리에서 AllowOverride All |
| 사례 3 | Apache, Drupal 설치 | .htaccess의 금지된 지시어와 함께 오류 확인 | Directory 컨텍스트에서 FileInfo, Limit, Options, Indexes 허용 또는 AllowOverride All |
진단 순서
- [Observation] 오류가 발생한 디렉터리의
.htaccess에서DirectoryIndex사용 여부를 확인합니다. - [Observation] 해당 디렉터리를 담당하는 VirtualHost 또는 Directory 설정의
AllowOverride값을 확인합니다.None이거나 필요한 유형이 빠져 있으면.htaccess지시어가 허용되지 않을 수 있습니다. - [Observation]
DirectoryIndex를 가상 호스트 설정으로 옮기는 방법과, 필요한 경우 해당 디렉터리에서Indexes등 필요한AllowOverride유형을 허용하는 방법을 검토합니다. - [Observation] 사례 3에서는
FileInfo,Limit,Options,Indexes허용 또는AllowOverride All적용 후 httpd.conf 수정 결과가 보고되었습니다.
참고 자료
Apache HTTP Server · 공식 자료 · 확인 범위: Apache는 .htaccess에서 허용되지 않은 지시어가 있으면 문서 접근 시 서버 오류가 발생할 수 있다고 설명합니다., 원문의 오류 로그 예시는 `DirectoryIndex not allowed here` 메시지를 포함합니다., 원문은 이 메시지가 .htaccess에서 절대 허용되지 않는 지시어를 사용했거나 `AllowOverride` 수준이 충분하지 않은 경우를 나타낼 수 있다고 설명합니다., Apache는 사용한 지시어의 문서에서 .htaccess 허용 여부와 필요한 AllowOverride 수준을 확인하도록 안내합니다. · 확인일: 2026-07-27
확인 범위: Ubuntu 22.04 XAMPP의 WordPress 하위 디렉터리에서 .htaccess의 DirectoryIndex 사용이 문제 상황과 연결되었습니다., VirtualHost의 AllowOverride 설정에 Indexes 유형이 빠진 것이 원인으로 제시되었습니다., AllowOverride에 Indexes 또는 All을 추가하고 필요한 index 파일을 지정하는 조치가 제시되었습니다. · 확인일: 2026-07-30
확인 범위: Apache2에서 .htaccess로 DirectoryIndex home.php를 지정할 때 DirectoryIndex not allowed here 조건이 발생했습니다., 가상 호스트의 AllowOverride가 None이면 .htaccess 지시어가 허용되지 않는다고 설명되었습니다., DirectoryIndex를 가상 호스트 설정에 두거나 해당 디렉터리의 AllowOverride를 All로 설정하는 해결 방향이 제시되었습니다. · 확인일: 2026-07-30
확인 범위: Drupal 설치 중 .htaccess의 금지된 지시어 다음에 DirectoryIndex not allowed here가 확인되었습니다., 호스트의 AllowOverride 제한이 원인으로 제시되었습니다., Directory 컨텍스트에서 FileInfo, Limit, Options, Indexes를 허용하거나 AllowOverride를 All로 변경하는 방법이 제시되었습니다., httpd.conf 수정 후 동작했다는 보고가 있습니다. · 확인일: 2026-07-30