Configurazione del routing in CakePHP
-
27-09-2019 - |
Domanda
Sto cercando di implementare il routing in CakePHP. Voglio gli URL per mappati come questo ...
www.example.com/nodes/main -> www.example.com/main www.example.com/nodes/about -> www.example.com/about
Quindi, per questo ho scritto nel mio file / routes.php config ..
Router::connect('/:action', array('controller' => 'nodes'));
Ora, ho preso la cosa andare ma quando clicco sul link, l'URL in del browser appare come www.example.com/nodes/main www.example.com/nodes/about
C'è un modo dove posso trovare gli URL di apparire il modo in cui vengono instradati? Impostazione in .htaccess o httpd.conf sarebbe stato facile -. Ma non ho accesso a quel
Saluti Vikram
Soluzione
Questo dovrebbe funzionare:
Router::connect('/main', array('controller' => 'nodes', 'action' => 'main'));
Router::connect('/about', array('controller' => 'nodes', 'action' => 'about'));
Si può anche fare qualcosa di più potente, in questo modo:
$actions = array('main','about');
foreach ($actions as $action){
Router::connect('/$action', array('controller' => 'nodes', 'action' => '$action'));
}
Altri suggerimenti
In sostanza, se il vostro link sono creati con il linguaggio HTML helper, con il seguente formato:
<?php echo $this->Html->link('your link', array('controller'=>'nodes', 'action'=>'main'));?>
Poi la torta convertirà i link correttamente per www.example.com/main
Ma se i vostri collegamenti sono
<?php echo $this->Html->link('your link', '/nodes/main/');?>
che punterà alla www.example.com/nodes/main