BadRequestException zobrazuje 500 misto 404

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Domki
Člen | 310
+
0
-

Když zadám domena.cz/sdfkdsjf/sdf (proste neco neexistujiciho)
tak mi vyskočí:
Nette\Application\BadRequestException #404
Cannot load presenter ‚Sdfkdsjf‘, class ‚App\Presenters\SdfkdsjfPresenter‘ was not found
Kdyz ale vypnu debugMode → na produkci. Tak se zobrazi:
Server Error
We're sorry! The server encountered an internal error and was unable to complete your request. Please try again later.
error 500

Proč se nezobrazí 404 ale 500? A jak docílit aby zobrazovala 404?
Navíc stranku 500.phtml v Error mám přeloženou do češtiny, takže tento text na webu ani neexistuje

Díky

David Matějka
Moderator | 6445
+
0
-

vetsinou se to ukazuje, kdyz dojde k chybe pri zpracovani error presenteru. koukni do logu, pripadne si jen zapni v debug modu

application:
	catchExceptions: true
Domki
Člen | 310
+
0
-

Jo bez debug modu se mi do logu ulozi chyba. Zjistil jsem ze ta 500 bude asi tim ze kdyz se nenajde dany presenter tak v layout vykresluji formular, který se prave kvuli tomu nenalezeni prezenteru nevytvoří a vyhodí to do logo chybu: Component with name ‚basicSearchForm‘ does not exist.
Dá se tedy v šabloně nějak ošetřit aby se vykreslil jen kdyz existuje?
Obalení do podminky if basicSearchForm != null ani isset(basicSearchForm) nepomohlo ani s $

Díky