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}