Обработка 404 полностью отличается от prod
и dev
. В prod
сообщение, которое вы передаете forward404
, просто записывается в журнал и не передается действию обработчика.
Есть много способов обойти это, но самым быстрым (хотя и самым грязным) было бы сохранить сообщение где-нибудь в статической переменной, чтобы обработчик 404 мог получить к нему доступ, как только процесс туда попадет, например,
В вашем действии,
<?php
CommonActions::$message404 = 'My message';
$this->forward404();
А в вашем обработчике 404 (при условии, что он в CommonActions),
<?php
if (self::$message404) {
$this->message = self::$message404;
}