1
루트 경로를 제외하고 AuthUserFile을 사용하여 내 웹 사이트에 대한 액세스를 제한하려고합니다.Apache SetEnvIf 지시문을 존재하지 않는 파일에만 적용하는 방법은 무엇입니까?
SetEnvIf Request_URI "^/$" allow_access=true
Order Deny,Allow
Deny from all
Allow from env=allow_access
그러나 robots.txt와 같은 파일도 보호받을 때 문제가 발생했습니다.
다음의 지시문 은이 아닙니다.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* - [E=allow_access]
Order Deny,Allow
Deny from all
Allow from env=allow_access
홈 페이지 (/) 등의 robots.txt와 favicon.ico의 물리적으로 존재하는 파일을 제외하고 여기에/어떤/경로//에 대한 액세스를 제한 할 수있는 방법이 있습니까?
미리 도움을 청하십시오!
안녕! 해결책 주셔서 감사합니다. 그러나, 이것은 내 경우에는 작동하지 않습니다. 문제는 vhost에서 index.php를 쿼리하기 위해 URI를 다시 작성하는 재 작성 규칙이 있다는 것입니다 (사용자에게 친숙한 URL에 대한 일반적인 습관). /와 기존 파일 (예 : robots.txt)에 대한 액세스를 허용해야하지만/any/path/here /에 대한 액세스를 거부해야합니다. 이것은 실제로 까다 롭습니다. 그래서 아파치 전문가들의 도움이 필요합니다. :) – Stanislav
기존 규칙을 게시하여 끝까지 재생산하고 업데이트 된 답변을 제공 할 수 있습니까? – anubhava
(작동하지 않는) 두 번째 블록을 참조하십시오. – Stanislav