cakephp中的路由配置

时间:2010-06-13 14:44:53

标签: cakephp routing cakephp-1.3

我正在尝试在cakephp中实现路由。我希望网址映射如下......

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

因此我在config / routes.php文件中写道..

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

现在,我已经开始了,但是当我点击链接时,浏览器中的网址会显示为 www.example.com/nodes/main www.example.com/nodes/about

是否有某些方法可以让网址以路由方式显示? 在.htaccess或httpd.conf中设置会很简单 - 但我无法访问它。

此致 维克拉姆

2 个答案:

答案 0 :(得分:2)

这应该有效:

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

你也可以做一些更强大的事情,比如:

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

答案 1 :(得分:2)

基本上,如果您的链接是使用Html帮助程序创建的,则使用以下格式:

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

然后,Cake会将链接正确转换为www.example.com/main

但如果你的链接是

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

他们将指向www.example.com/nodes/main