2014-12-30 8 views
1

인증 확인. 내 워드 프레스 사이트에 가정/갤러리/테스트 영역이 있으며 .htaccess를 사용하여 액세스를 제한하고 싶습니다. .htaccess를 사용하여 디렉토리에 대한 인증을 설정하는 것은 매우 간단합니다. 하지만 WordPress에 내 문제는 홈/갤러리/테스트 꽤 URL을 사용하고 있기 때문에 아무데도 디렉토리로 실제로 존재하지 않습니다..htaccess with wordpress

홈 블록에있는 .htaccess에 인증 블록을 붙이면 전체 사이트에 대한 인증을 요청합니다. 나는 홈/갤러리/테스트에 대한 액세스를 제한하기 위해 .htaccess 파일을 찾을 위치를 아는 것이 손실되었습니다.

의견이 있으십니까? 홈 디렉토리 .htaccess 파일에서 설정하여 전체 사이트가 아니라 home/gallery/test URL을 보호하려는 것으로 설정할 수 있습니까?

내 htaccess 파일의 내용은 다음과 같습니다 (제안 된 솔루션을 포함하도록 업데이트 됨).

SetEnvIfNoCase Request_URI "^/home/gallery/test$" protected 

AuthType Basic 
AuthName "Forbidden" 
AuthUserFile /home/xxxxx/.htpasswd 
Require valid-user 
Order allow,deny 
Allow from all 
Deny from env=protected 
Satisfy any 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} ^/(failed_auth\.html).*$ [NC] 
RewriteRule . - [L] 
</IfModule> 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

답변

0

mod_setenvif

SetEnvIfNoCase REQUEST_URI "^/home/gallery/test" PROTECTED 

AuthType Basic 
AuthName "Test protection" 
AuthUserFile /path/to/passwords_file 
Require valid-user 
Satisfy any 
Order allow,deny 
Allow from all 
Deny from env=PROTECTED 

EDIT를 사용하는 솔루션이있다 : 고려하여 htaccess로 코드를 가지고, 그것은 당신의 대답이

SetEnvIfNoCase REQUEST_URI "^/home/gallery/test" PROTECTED 

AuthType Basic 
AuthName "Forbidden" 
AuthUserFile /home/xxxxx/.htpasswd 
Require valid-user 
Satisfy any 
Order allow,deny 
Allow from all 
Deny from env=PROTECTED 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteRule ^failed_auth\.html$ - [L] 

    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule^index.php [L] 
</IfModule> 
# END WordPress 
+0

감사처럼 보일 것입니다. 주위를 놀고 난 후에, 그것은 약간의 이유를 위해 이것이 아직도 인증을 요구하고 있지 않는 것처럼 보인다. 그리고 나는 그 url에 자유롭게 접근 할 수있다. 어떤 아이디어? – DrNoFruit

+0

난 그냥 내 코드를 테스트하고 그것은 내 편이 예상대로 작동합니다. htaccess는 어디에 있습니까? –

+0

공용 HTML 디렉토리에 있습니다. 나는 wordpress가 그 일을 망쳐 놓고있는 것이 있는지 궁금해. 나는 주변에서 사냥을 해본 후 원래 게시물에서 주었지만 아무 소용이없는 몇 가지 다른 변형을 시도했습니다. – DrNoFruit