2011-02-08 25 views
1

在生產模式下(最小錯誤),當找不到控制器時,Zend給出404頁未找到錯誤。有幾個控制器我不想激活它。即使它們不存在,我也不希望頁面未找到錯誤被激活。是否有可能以某種方式阻止該錯誤並提供空白頁面。我猜測,如果可能的話,它必須在插件級別完成,因爲沒有控制器真的存在來處理這個問題。當控制器不存在時,找不到停止頁面錯誤

回答

2

一種可能的解決方案是檢查您的errorAction中的控制器和/或引發異常的操作(對於不存在的控制器以及您也可以通過這種方式獲取其名稱的操作)中的請求對象。基於此,您可以自定義其餘的errorAction。例如:

public function errorAction() { 
     $errors = $this->_getParam('error_handler'); 

     $whatController = $errors->request->getControllerName(); 

     if ('secretController' == $whatController) { 
      return $this->_redirect('blankErrorPage'); 
     } 

     // usual rest of errorAction 
} 
+0

謝謝,我會試試看,但我看到的問題是,它意味着我必須創造一個`blankErrorPage`控制器/動作/視圖。有沒有一種方法可以在沒有控制器/操作的情況下獲得視圖? – jblue 2011-02-09 05:38:18

相關問題