我正在尝试在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中设置会很简单 - 但我无法访问它。
此致 维克拉姆
答案 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