Frage

Ich versuche, das Routing in CakePHP zu implementieren. Ich möchte die Urls abzubildenden wie diese ...

www.example.com/nodes/main -> www.example.com/main www.example.com/nodes/about -> www.example.com/about

Also, für dieses schrieb ich in meiner config / routes.php Datei ..

Router::connect('/:action', array('controller' => 'nodes'));

Nun habe ich die Sache geht, aber wenn ich auf die Links klicken, wird die URL in Browser wie www.example.com/nodes/main www.example.com/nodes/about

Gibt es eine Möglichkeit, wo ich die Urls den Weg zu erscheinen bekommen sie weitergeleitet werden? Einstellung in .htaccess oder httpd.conf wäre einfach -. Aber ich habe keinen Zugriff auf das

Viele Grüße Vikram

War es hilfreich?

Lösung

Dies sollte funktionieren:

Router::connect('/main', array('controller' => 'nodes', 'action' => 'main'));
Router::connect('/about', array('controller' => 'nodes', 'action' => 'about'));

Sie können auch etwas stärker, wie dies tun:

$actions = array('main','about');
foreach ($actions as $action){
   Router::connect('/$action', array('controller' => 'nodes', 'action' => '$action'));
}

Andere Tipps

Grundsätzlich, wenn Sie Ihre Links werden erstellt, mit Html-Helfer, mit folgendem Format:

<?php echo $this->Html->link('your link', array('controller'=>'nodes', 'action'=>'main'));?>

Dann wird der Kuchen auf die Links konvertieren richtig www.example.com/main

Aber wenn Sie Ihre Links sind

<?php echo $this->Html->link('your link', '/nodes/main/');?>

werden sie verweisen auf www.example.com/nodes/main

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top