php cakephp routing cakephp-3.0

cakephp 3 parámetro url



routing cakephp-3.0 (0)

Me gustaría saber cómo es posible que si alguien escribe un enlace inexistente devuelva el error en cakephp 3.

Ejemplo:

Tengo una acción llamada prueba dentro del controlador calle primero.

En mi archivo de enrutamiento, he declarado el lenguaje de esta forma dentro del scope :

$lang = ''it|en''; $routes->connect(''/'', [''language'' => ''it'', ''controller'' => ''Pages'', ''action'' => ''index'', ''index''], [''language'' => $lang]); $routes->connect( ''/:language/:controller'', [''action'' => ''index''], [''language'' => $lang] ); $routes->connect( ''/:language/:controller/:action'', [''language'' => $lang] );

Así que esperaba que con este sistema de enrutamiento si alguien escribía dentro de la url:

`http://www.myownsite.it/languagenotexist/first/test` returns error, but take `languagenotexist` as a language but lang are only: ''it|en''.

¿Cómo puedo devolver el error si el idioma del parámetro no es o es como lo he declarado en el archivo de ruta?

Esta necesidad de trabajar:

http://www.myownsite.it/it/first/test

O

http://www.myownsite.it/en/first/test

Esta necesidad de devolver un error como 404 por ejemplo:

http://www.myownsite.it/languagenotexist/first/test

O

http://www.myownsite.it/es/first/test

Porque el lenguaje de parámetros no lo es o es

Tabla de ruteo:

pages:index | / | {"language":"it","controller":"Pages","action":"index","0":"index","plugin":null} | | _controller:index | /:language/:controller | {"action":"index","plugin":null} | | _controller:_action | /:language/:controller/:action | {"language":"it|en","action":"index","plugin":null}