2011-07-27 4 views
1

내 IP가 유지 관리 모드 조건과 일치하면 CakePHP 블록에서 규칙을 실행할 수 있어야합니다. 그렇지 않으면 가능하면 무시하십시오. 감사.htaccess 중지 처리 규칙

RewriteEngine on 

# Maintenance Mode 
RewriteCond %{REQUEST_URI} !/offline\.php$ 
RewriteCond %{REMOTE_ADDR} !^(00\.00\.00\.00) 
RewriteRule .* /offline\.php [L] 

# CakePHP 
RewriteRule ^$ app/webroot/ [L] 
RewriteRule (.*) app/webroot/$1 [L] 

답변

1

네, 가능합니다 :

RewriteEngine on 

# Maintenance Mode 
RewriteRule ^offline\.php$ - [L] 
RewriteCond %{REQUEST_URI} !^/offline\.php$ 
RewriteCond %{REMOTE_ADDR} !=192.168.0.2 
RewriteRule .* /offline.php [L] 

# CakePHP 
RewriteRule ^$ app/webroot/ [L] 
RewriteCond %{REQUEST_URI} !^/app/webroot/ 
RewriteRule (.*) app/webroot/$1 [L] 
  1. 자신의 IP 주소를 사용하여 내가 재 작성 루프를 방지하기 위해 매우 마지막 규칙에 조건을 추가 한

+0

잘못된 IP로 웹 사이트에 접속하면 서버는 app/webroot에서 offline.php를 찾아 404. mmmm을 찾습니다. – woodscreative

+0

@woodscreative 'RewriteRule^offline \ .php $ - [L]'줄은 다시 작성한 오프라인 URL이 CakePHP에 전달되지 않도록 작업을 수행해야합니다. – LazyOne

+0

내부 서버 오류가 발생합니다. – woodscreative

관련 문제