Zend неопределенная обработка URL - PullRequest
0 голосов
/ 09 мая 2011

привет, я работаю в Zend.Я хочу знать кое-что о неопределенной обработке URL.У меня есть URL-адрес типа http://localhost/concierge/login, и он имеет следующее правило в файле правил URL-адресов.

'admin/login' =>array('login', array('module'=>'admin','controller' => 'index','action' => 'login'),array(),'login'),.Все работает нормально.

Но если изменить URL-адрес, например http://localhost/concierge/lgin, который я не определил, он перейдет на пустую страницу, где отображается пустой массив и там написано Page not Found.ЭТО выглядит плохо.Я хочу знать, если пользователь пишет что-то неправильно в URL, мое приложение должно показать 404 error.

Теперь я хочу знать, Как я могу достичь своей задачи?Придется ли мне определять другое правило для файлов правил url для обработки всех этих ошибок?Если да, то как будет выглядеть это правило URL?А для контроллеров что мне делать?Любая помощь?

1 Ответ

1 голос
/ 04 февраля 2013

Я делаю это с помощью ловушки preDispatch плагина фронт-контроллера.

открытая функция preDispatch (Zend_Controller_Request_Abstract $ request) {$ disp = Zend_Controller_Front :: getInstance () -> getDispatcher ();

    if ( !$disp->isDispatchable($request) ) { 
            $request->setModuleName('default'); 
            $request->setControllerName('error'); 
            $request->setActionName('error404'); 
    } 

}

если ничего не существует (например, / registerxxx вместо / register), то они возвращаются на страницу 404.Это сработало до сих пор для меня.

...