2016-11-18 4 views
0

나는 우분투에서 .htaccess 파일을 직접적으로 접근하는 것을 막고있다. 이 질문에는 여러 가지 중복 가능성이 있지만 그 중 아무도 아직 나를 도왔습니다.Apache에서 특정 디렉토리, 파일의 직접 액세스를 차단하는 방법은 무엇입니까?

내 디렉토리 구조 :

---- /var/www/html 
        - login.html 
        - private (folder) 
         -- content.html 
         -- css/style1.css , style2.css 
         -- JS/myscript1.js , myscript.js 

지금 내가 개인 폴더의 직접 액세스를 차단하려는. 그러나

10.0.0.1/private - Block or Password required 
10.0.0.1/private/css - Block or Password required 
10.0.0.1/private/js - Block or Password required 

처럼 내가 login.html에 대한 css ,js 액세스해야합니다. 그래서 login.html에 대한 개인 폴더 액세스를 허용하고 싶습니다.

처럼 : 이것은 잘 작동

<Directory /var/www/html/private/> 
    AuthType Basic 
    AuthName "Restricted Content" 
    AuthUserFile /etc/apache2/.htpasswd 
    Require valid-user 
</Directory> 

내가 10.0.0.1/private 액세스 :

10.0.0.1/index.html - Allow 
calling content.html via 10.0.0.1/index.html - Allow 
request private/css/style1.css via 10.0.0.1/index.html - Allow 
request private/css/style2.css via 10.0.0.1/index.html - Allow 
request private/JS/myscript1.js via 10.0.0.1/index.html - Allow 
request private/JS/myscript2.js via 10.0.0.1/index.html - Allow 

나는 개인 폴더 ACESS을 차단하기 위해 다음과 같이 썼다. 하지만 이것은 index.html 요청시 css , js 일 때 문제가되고 있습니다.

apache.conf.htacess으로 어떻게 할 수 있습니까? 어떻게 규칙을 쓸 수 있습니까? 제안 사항이 있으십니까?

답변

1

은 허용 할 각 폴더에 .htaccess 파일을 만듭니다 (예 : private/css/.htaccess)

참조 : http://httpd.apache.org/docs/2.2/mod/core.html#require

Satisfy Any 
Order Allow,Deny 
Allow from all 

편집 : 하위 디렉토리을에

가 제거 제어

다음 예제는 Satisfy 지정 문을 보호 된 디렉토리의 하위 디렉토리에서 액세스 제어를 비활성화하는 방법을 보여줍니다. 이 기술은 신중하게 사용해야합니다. 왜냐하면 mod_authz_host에 의해 부과 된 액세스 제어를 비활성화하기 때문입니다.

<Directory /path/to/protected/> 
Require user david 
</Directory> 
<Directory /path/to/protected/unprotected> 
# All access controls and authentication are disabled 
# in this directory 
Satisfy Any 
Allow from all 
</Directory> 
+0

는 그래서 난'은/var/www가에 대한 기존 규칙을 유지해야/HTML/개인 /'도? – user2986042

+0

예. 둘 다를 유지하십시오. – Rohit

+0

규칙을 사용하여 답변을 업데이트 할 수 있습니까? – user2986042

관련 문제