[dash]님이 남기신 글:
>안녕하세요.
>이번에도 역시 궁금하고, 잘 안되는 부분이 있어서
>이렇게 키보드를 두드립니다.
>한가지는 아파치의 인증부분입니다.
>현재 1.3.19버전을 쓰고 있습니다.
>httpd.conf에 직접
><Directory 해당디렉>
>AuthName "테스트 인증"
>AuthType Basic
>AuthUserFile /home/계정/public_html/.htpasswd
>require valid-user
></Directory>
>이렇게 직접 넣어주면은 인증이 잘되지만은 여느
문서처럼
>원하는 디렉토리에 .htaccess를 넣으면 인증을 하지않고,
>500 internal server error
>를 나타내고 있습니다.
>루트디렉 및 public_html, 인증을 원하는 디렉에는
>All과 AuthConfig등을 넣어봤지만
>역시나 500 error을 나타내고 있습니다.
>어떻게해야 원하는 디렉토리에 .htaccess를 넣음으로서
>사용자인증을 나타낼수가 있을까요..?
>
---------->
위와 같이 설정하면
"해당디렉"
만 인증이 되고 다른 디렉토리는 인증이 .htaccess 파일로
되지 않는다면 다른 디렉토리에 대한 Allowovrride none 으로
설정 및 적용되었기 때문입니다.
<Diretory />
AllowOverride All ## 또는 AuthConfig
...
</Diretory>
으로 설정하고 <Diretory "해당디렉">
부분을
위에서 설정한 4줄을 지우고 직접 "해당디렉"/.htaccess
파일로 인증을 설정하면 됩니다.
참고로 500 에러코드는 서버가 스크립트 에러를 실행할 수 없는
경우로 서버에러라고도
합니다.
>그리고 또한 유저들이 각각 원하는 디렉토리에
사용자인증을
>넣음으로서 인증이 되게 하고 싶습니다.
>public_html 및 그 하위 등..원하는 어느 곳에서도
>.htaccess를 넣기만 하면 사용자인증을 구현할 수
있을지..
>약간의 요령을 알고 싶습니다.
> <Directory /home/*/public_html/*>
>이런식으로 '*'를 넣어줌으로서 할수는 있는지
궁금합니다.
----->
/ 에 Override 가 허용되므로 /home/*/public_html 디렉토리도
당연히 .htaccess 파일로 인증할 수 있습니다.
...
<Diretory ~ "/home/*/public_html/*">
위와 같이 사용하는것이 더 낫을듯.......
앞에 ~는 정규표현식으로
디렉토리를 정의하겠다는 의미로
<DiretoryMatch "/home/*/public_html/*">와
동일합니다.
>
>다른 하나는 약간의 의아한 점입니다만..
>현재 제가 운영하는 서버와 다른 서버가 있는데,
>제 서버는 virtualhost를 하여도 해당호스트에서
/board.html
>등의 public_html의 절대경로를 인식을 하지만은
>다른 서버에서는 public_html의 절대경로는 인식을
못하여
>apache의 기본 Root디렉에서 해당 화일을 찾게 되더군요.
>다른 점을 찾아보았지만 못 찾겠습니다. 어느 부분에서
>위의 차이를 보이게 되는 것인지 아시면 조언
부탁드립니다.
>
>많이 난잡한 질문을 올리게되어 죄송스럽습니다.
--;;
>
>약간의 조언이나 문서등을 알려주시면
>감사드리겠습니다.
>즐거운 시간 되시고요..
>늘상 미소지을수 있으시기를..바랍니다.
========================================
두번째 답변은
다른서버에서 가상호스트로 DocumentRoot 지정이 없기 때문에
기본 main server의 DocumentRoot를 찾는 경우입니다.
PHP를 사용할 수 있다면
"다른서버"에서
<?
echo getenv("DOCUMENT_ROOT");
?>
로 확인해보세요....
|