2010-11-15 7 views

Trả lời

51

Một chuyển hướng đến một 404 sẽ là:

throw new Zend_Controller_Action_Exception('Your message here', 404); 

Hoặc không ngoại lệ:

$this->_response->clearBody(); 
$this->_response->clearHeaders(); 
$this->_response->setHttpResponseCode(404); 
+0

Tốt, tôi không biết rằng bạn có thể đặt mã cho ngoại lệ đó. Mặc dù vậy, tài liệu API dường như trỏ đến nó chỉ dành cho sử dụng nội bộ. – Juan

+0

Vâng, tôi sử dụng nó mọi lúc với các tuyến tùy chỉnh .. Ví dụ: 'example.com/: module /: controller /: random'. Trong bộ điều khiển tôi kiểm tra nếu ngẫu nhiên tồn tại, nếu không tôi ném và ngoại lệ với một 404 và nó hoạt động :-) –

+1

Chính xác lý do tại sao tôi cần phải sử dụng nó. =] cảm ơn – Andrew

1

Bạn luôn có thể thiết lập mã phản hồi bằng tay, mà không ném bất kỳ trường hợp ngoại lệ.

$this->_response->clearBody(); 
$this->_response->clearHeaders(); 
$this->_response->setHttpResponseCode(404);