[.htaccess] 하위 디렉토리에서 .htaccess 암호 보호를 제거하는 방법

사용하여 전체 웹 사이트를 비밀번호로 보호 .htaccess했지만 비밀번호없이 볼 수 있도록 하위 디렉토리 중 하나를 노출하고 싶습니다.

하위 디렉터리에 대한 htaccess 암호 보호를 비활성화하려면 어떻게해야합니까? 특히 .htaccess구문 은 무엇입니까 ?

다음은 내 .htaccessftp의 루트에있는 내 파일입니다.

AuthName "사이트 관리"
AuthUserFile /dir/.htpasswd
AuthGroupFile / dev / null

AuthName 보안
AuthType 기본
사용자 username1 필요
주문 허용, 거부
모두에게 허용하다



답변

Apache 2.3까지 .htaccess필요한 디렉토리에 새 파일 을 만들고 Satisfy any지시문을 포함해야 합니다.

# allows any user to see this directory
Satisfy Any

Apache 2.4에서 변경된 구문은 동일한 효과를 갖습니다.

Require all granted


답변

RageZ의 답변에 추가하여 Server Directives에서 이것을 사용했습니다.

<Directory /var/www/protected/>
     AuthType Basic
     AuthName "Production"
     AuthUserFile /path/to/.htpasswd
     Require valid-user
</Directory>

<Directory /var/www/protected/unprotected>
     Satisfy Any
</Directory>

대박. 감사합니다 RageZ!


답변

.htaccess다음 지시문을 사용하여 원하는 하위 디렉토리에 새로 만들기 만하면됩니다 .

Allow from all

다음으로 만 IP로 제한 할 수 있습니다.

Allow from x.x.x.x

참조 : http://httpd.apache.org/docs/current/mod/mod_access_compat.html


답변

인증을 재정의하는 하위 디렉터리에 다른 .htaccess 파일을 추가해야합니다. .htaccess는 위로 계단식으로 올라갑니다. 즉, 현재 폴더를 찾은 다음 한 단계 위로 올라갑니다.


답변

다음은 사이트의 기본 .htaccess 파일에서 기본 인증을 통해 하위 디렉토리 “foo”를 허용하는 방법입니다.

AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user

참고 : 이것은 Apache 2.4에서 작동합니다. 이전 버전을 확인하지 않았습니다.


답변

htaccess 인증에서 특정 방향성을 방지하려면 맨 위에있는 htaccess 파일에서 다음 코드를 사용할 수 있습니다.

AuthType Basic
AuthName "Enter Pass"
AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/
Require valid-user
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
Order allow,deny
Allow from env=allow

또한 여러 디렉토리를 방지하려면 다음을 추가하십시오.

SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow

디렉토리 수만큼 htaccess 방지에서 제거하려고합니다.


답변