모듈과 함께 mod_setenvif
을 사용하여 kludge를 정렬 할 수 있습니다. 암호로 보호 된 호스트를 설정하려면 SetEnvIfNoCase
지시문을 사용하십시오.
AuthUserFile /var/www/test.mysite.com/htpasswd
AuthType Basic
AuthName "Password Protected"
:이 같은 당신의 인증 물건의 설정을 가지고 (오픈에서 그냥 나)에
Directory
블록 내부에 다음
# Check for the hostname here
SetEnvIfNoCase HOST ^test\.mysite\.com\.?(:80)?$ PROTECTED_HOST
: 당신은 액세스를 충족하기 위해 추가 지침의 몇 가지가 필요합니다
이제 만족 /이 필요한 물건 :
Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=!PROTECTED_HOST
이 그것을 만들 것 때문에 인증에 대한 필요없이 액세스 할 수 있습니다 ^test\.mysite\.com\.?(:80)?$
일치하지 않는 모든 호스트 () 그렇지 않으면 유효한 사용자 (Require valid-user
)가 필요합니다. Satisfy any
은 2 중 하나만 허용하거나 필요로하는지 확인합니다.
조건부 사례를 활성화하려고 시도했지만 테스트하려면을 사용하지만 작동하지 않습니다. 어떤 아이디어? .. 사용하고 있습니다 : SetEnvIfNoCase 호스트 "dev.example.com"DEV ... 그리고 나서 'dev'의 경우 및 '일반'사이트의 경우 ... –
DM8
@ DM8 그게 [ 않습니다] (http://httpd.apache.org/docs/2.2/mod/core.html#ifdefine) 않습니다. 이러한 변수는'-D' 명령 행 플래그에 의해 설정됩니다. 환경 변수가 아닙니다. –
흠, 그렇다면 내 호스트가 아파치 2.4로 업그레이드하기를 기다리는 것과는 별개로 (이것은 블록을 가지고 있습니다 ...). 내가 원하는 행동을 취할 수있는 방법이 있습니까? ... 내 검색에서 아파치 2.2x : http : //turboflash.wordpress에서 이것을하는 _no_ 방법이 있음을 나타내는 다음 기사를 발견했다.com/2010/05/27/apache-environment-variables-visibility-with-setenv-setenvif-and-rewriterule-directives/ –
DM8