루트 디렉토리 자체를 가져올 때 Apache 2.0 ErrorDocument 지시문이 작동하지 않습니다.

루트 디렉토리 자체를 가져올 때 Apache 2.0 ErrorDocument 지시문이 작동하지 않습니다.

저는 Red Hat 4.1.2에서 Apache 2.0을 사용하는 사이트를 담당하고 있습니다.

사이트 루트 디렉터리의 .htaccess 파일에 다음 줄을 추가하여 사용자 지정 오류 페이지를 표시하도록 사이트를 구성했습니다.

ErrorDocument 403 /403.html

테스트를 위해 사이트 애플리케이션에서 내 IP 주소를 차단했습니다. 그러면 .htaccess 파일에 다음과 같은 결과가 나타납니다(간단하게 목록을 편집하고 IP를 변경했습니다).

SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP

"잘못된" IP에서 사이트에 액세스하려고 할 때 특정 페이지를 가져오려고 하면 사용자 지정 오류 페이지가 표시됩니다(예:http://example.com/index.html).

그러나 루트 디렉터리만 가져오려고 하면(예:http://example.com), 대신 Apache 테스트 페이지가 표시됩니다.

사용자 정의 오류 페이지와 작동하도록 사이트의 루트 디렉터리를 가져올 수 있는 방법이 있습니까?

편집: 제가 약간의 혼란을 야기한 것 같습니다. 명확히 하기 위해:

  • 루트 URL을 얻으려고 하면 루트 페이지는 다음과 같습니다.~ 아니다봉사; 내가 받은 것은 "이 페이지를 읽을 수 있다면 이 사이트에 설치된 Apache HTTP 서버가 제대로 작동하고 있다는 의미입니다."라는 페이지입니다. 그래서 예상대로 차단되었는데 403 오류 페이지가 표시되지 않습니다.
  • 루트 아래에 있는 항목을 얻으려고 하면 사용자 정의 403.html 페이지가 나타납니다.

업데이트:

나는 최신 Apache 버전(2.2.25)에서 이것을 시도했습니다. 나는 또한 그것을 시도했다없이ErrorDocument 지시문 또는 SetEnv 항목. .htaccess 파일에는 다음이 포함됩니다.오직이 3줄:

order allow,deny
allow from all
deny from 0.0.0.0

여기서 0.0.0.0은 실제 IP 주소로 대체됩니다.

결과는 동일합니다. example.com을 가져오면 Apache "If you can read this" 테스트 페이지가 표시되고, example.com/x를 가져오면 내장된 "Forbidden ... you don't havePermission(권한이 없습니다. 권한이 없습니다)" 메시지가 표시됩니다. 이 서버의 /x에 액세스하려면" 페이지를 참조하세요.

관련 정보