2012-04-11 3 views
1
Order deny,allow 
deny from all 
allow from xx.xx.x.xx 
RewriteRule . - [F] 

위의 내용은 내 사이트의 서브 디렉토리에있는 .hta 파일에 있습니다.이 디렉토리와 해당 서브 디렉토리에 대한 액세스를 내 IP로만 제한하려고합니다. 정적 IP가 있고 입력 한 IP가 올바른지 확인했지만 아직 내 IP를 허용하지 않습니다 ...htaccess는 내 IP로 서브 디렉토리를 제한하지 않습니다.

여기서 잘못된 것은 무엇입니까?

답변

0

RewriteRule을 제거해야합니다. RewriteRule . - [F]은 IP를 구분하지 않으며 규칙이 항상 적용되므로 요청이 무엇이든간에 (/ 제외) 항상 금지됩니다 ([F]).


업데이트 : 그것은 부모의 지시가 있다면

이 파일의 상단에 AllowOverride Limit를 추가 (여전히 RewriteRule의 제거) 오버라이드 (override)하지 못하도록 여전히 뭔가가 있다면

시도 상위 디렉토리 규칙을 사용하면 순전히 RewriteEngine을 통해 할 수 있습니다.

RewriteCond %{REMOTE_ADDR} !^xx.xx.x.xx$ 
RewriteRule . - [F] 

원격 주소 (클라이언트 연결) xx.xx.x.xx가 아닌 금지 된 규칙에 조건을 추가합니다. 조건이 충족되지 않으면 규칙이 적용되지 않고 규칙이 적용되지 않습니다.

+0

이미 시도했습니다. 제거하면 모든 사용자가 액세스 할 수 있습니다. 내 생각에 –

+0

이미 해봤 다. 문제는이 hta가 루트 hta의 명령을 허용함으로써 덮어 쓰여지므로 재 작성 규칙없이 무시되거나 모두 또는 아무도 허용되지 않습니다. –

+0

다시 쓰기 규칙이 없으면 지시문에서 아무 것도 처리하지 않습니다. 대신 사용해야하는 또 다른 규칙이 있습니까? –

관련 문제