Enrutamiento de configuración en cakephp
-
27-09-2019 - |
Pregunta
Estoy tratando de poner en práctica el enrutamiento en CakePHP. Quiero que las direcciones URL asignada a como este ...
www.example.com/nodes/main -> www.example.com/main www.example.com/nodes/about -> www.example.com/about
Así que para este he escrito en el archivo de configuración / routes.php ..
Router::connect('/:action', array('controller' => 'nodes'));
Ahora, tengo la cosa va, pero al hacer clic en los enlaces, la dirección URL en el navegador aparece como www.example.com/nodes/main www.example.com/nodes/about
¿Hay alguna manera donde puedo conseguir las direcciones URL que aparecen la forma en que se encaminan? Configuración de .htaccess o httpd.conf sería fácil -. Pero no tienen acceso a ese
Saludos Vikram
Solución
Esto debería funcionar:
Router::connect('/main', array('controller' => 'nodes', 'action' => 'main'));
Router::connect('/about', array('controller' => 'nodes', 'action' => 'about'));
También puede hacer algo más potente, así:
$actions = array('main','about');
foreach ($actions as $action){
Router::connect('/$action', array('controller' => 'nodes', 'action' => '$action'));
}
Otros consejos
Básicamente, si sus enlaces se crean con HTML ayudante, con el siguiente formato:
<?php echo $this->Html->link('your link', array('controller'=>'nodes', 'action'=>'main'));?>
La torta convertirá los enlaces correctamente a www.example.com/main
Pero si sus enlaces son
<?php echo $this->Html->link('your link', '/nodes/main/');?>
que apuntará a www.example.com/nodes/main