2013-08-10 5 views
2

당신은 당신이 할 www.mywebiste.com/files/myfile.pdf로 이동합니다 내가 허용하지 않으려는 파일이 포함 된 디렉토리 files 직접 를 액세스 할 수 있습니다 리디렉션됩니다.액세스 금지

그러나 나머지 사이트에서 파일에 액세스 할 수 있기를 바랍니다. 예. 나는 www.mywebiste.com/dave/page/ 페이지를 가지고있어 파일 디렉토리에서 파일을 보여줄 수 있어야한다.

나는 파일의 디렉토리에서 다음 htacccess을 시도했지만, 제대로 동작하지 않습니다 :

RewriteEngine ON 
RewriteCond %{HTTP_REFERER} ^http://www.mywebiste.com/files/ [NC] 
RewriteRule ^.*$ - [R=404,L] 
  • 나는이 작업을 얻을 수 있다면,이 또한 로봇에 의해 색인되는 파일을 방지 할 수 있다고 가정 그들도 리다이렉트 될 것인가?
+0

없음 가능한 해결책은 방수입니다 : 그들은 항상 액세스 할 수있는 방법이있을 것이다, 그래서 이러한 파일에 액세스 할 수 사용이 필요합니다. 나는 당신이 당신의 파일을 보호하지 않고 사용자가 선택할 수 있도록 파일을 다운로드하도록 권장합니다. robots.txt를 사용하여 색인 생성을 방지 할 수 있습니다. – dtech

답변

4
Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_REFERER} ^$ 
RewriteRule ^files/.*$ - [F] 

당신은 또한 사용할 수 있습니다 :

RewriteCond %{HTTP_REFERER} !^http://(www.)?mywebiste.com/.*$ [NC] 
RewriteRule ^files/.*$ - [F] 

는 IT가 도메인 내에서 아무것도 할 수있는 페이지를 호출 된 페이지에서 제공 참조 때문에 그래서 간단한 사용 ^http://(www.)?mywebiste.com/.*$ 당신은뿐만 아니라 ^http://(www.)?mywebiste.com를 사용할 수있다 당신이 더 편하게 느끼면. refer가 비어 있고 폴더가 파일에 대한 액세스를 거부하는 경우입니다.

PS : http://(www.)?mywebiste.com은 사이트 주소가 www.이거나 그렇지 않은 것을 나타냅니다. 당신이 참조도 액세스가 비어 있도록 사용자 에이전트를 사용할 수있는 로봇으로


.

robots.txt 예 :

User-agent: * 
Disallow: /files/ 

More information about robots.txt see here.

+0

모든 로봇이 그것을 존중하지 않기 때문에 더 일반적인 robots.txt를 사용하여 액세스를 거부하는 이유는 무엇입니까? – dtech

+0

@dtech 그리고 그는 사람들이 내가 이해 한 것에서 직접 로봇을 액세스하지 못하도록 막는 것을 막기를 원하지 않았습니다. – Prix

+0

감사합니다 @Prix, 그러나 나는 그 코드를 사용하여 직접 파일에 직접 액세스 할 수 있습니다. 내가 루트 디렉토리 또는 파일 디렉토리에 파일을 추가하겠습니까? .. 미리 감사드립니다. – jon

관련 문제