2013-10-07 2 views
0

내 도메인의 루트에 .htpasswd 파일이 있고 단일 index.php 파일을 보호해야하는 .htaccess 파일이 있습니다. 아쉽게도 하위 디렉토리에 asif index.php 파일이 보호되어 있습니다. 이 파일을 단일 파일로 만들고 하위 디렉토리에 파일을 그대로 둘 수 있습니까?하위 파일에있는 파일이 아닌 단일 파일을 htpasswd로 보호하려고합니다.

이것은 현재의 .htaccess 파일입니다.

<Files "index.php"> 
AuthName "Users zone" 
AuthType Basic 
AuthUserFile /home/deb69824/domains/.htpasswd 
require valid-user 
</Files> 

답변

0

파일의 정확한 위치를 나타내는 슬래시를 포함하십시오. 디렉토리의 루트에?

<Files "./index.php"> 
AuthName "Users zone" 
AuthType Basic 
AuthUserFile /home/deb69824/domains/.htpasswd 
require valid-user 
</Files> 
0

흥미로운 문제. Files 또는 FilesMatch을 사용하면 디렉토리 파일과 관계없이 파일 이름 만 일치하므로 도움이되지 않습니다. 불행히도 지시어는 .htaccess 파일에 허용되지 않습니다.

는 다행히 여기의 사용을 만들 수있는 지침, 답장을 보내 주셔서 즉 mod_setenvif

# set env variable if URI is /index.php 
SetEnvIf Request_URI "^/index\.php$" HOME_INDEX 

# use BASIC authentication only when env variable HOME_INDEX is set 
AuthType Basic 
Authname "Users zone" 
AuthUserFile /home/deb69824/domains/.htpasswd 

Require valid-user 
Satisfy any 
Order allow,deny 
Allow from all 
Deny from env=HOME_INDEX 
+0

감사가있다. 불행하게도이 작업은 나에게 도움이되지 못했지만 솔루션으로 이어졌습니다. 내 원래 .htaccess 파일을 보관하고 "Satisfy any"가 포함 된 하위 디렉토리에 다른 파일을 추가했습니다. 이로 인해 서브 디렉토리는 암호 보호 상태를 벗어났습니다. 유일한 단점은 .htaccess 파일을 모든 하위 디렉토리에 넣어야한다는 것입니다. 운 좋게 나는 단지 순간을 필요로한다. 도움 주셔서 감사합니다. – joren

+0

이 답변으로 문제를 해결하는 데 도움이 되었다면 나중에 "유사한 문제"가있는 사용자가 쉽게 볼 수 있도록 "승인 됨"으로 표시하십시오. – anubhava

+0

이 기능을 사용하셨습니까? – anubhava