사용하여 전체 웹 사이트를 비밀번호로 보호 .htaccess
했지만 비밀번호없이 볼 수 있도록 하위 디렉토리 중 하나를 노출하고 싶습니다.
하위 디렉터리에 대한 htaccess 암호 보호를 비활성화하려면 어떻게해야합니까? 특히 .htaccess
구문 은 무엇입니까 ?
다음은 내 .htaccess
ftp의 루트에있는 내 파일입니다.
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 방지에서 제거하려고합니다.