2011-07-27 70 views
1

我需要能夠在CakePHP的塊運行規則,如果我的IP相匹配的維護模式條件,否則不理會他們,可能嗎?謝謝。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地址

  2. 我已經加入條件到最後的規則,以防止重寫循環

+0

如果我訪問的網站與一個無效的IP服務器在app/webroot中查找offline.php,結果爲404.mmmm。 – woodscreative

+0

@woodscreative我已經更新我的答案 - 在'^重寫規則離線\ $ .PHP - [L]'行應該做的工作,確保一旦重寫URL下線將不會傳遞給CakePHP的。 – LazyOne

+0

拋出我的內部服務器錯誤。 – woodscreative