假设我希望一个页面有一个漂亮的 URL:
配置/routes.php
Router::connect('/profile', array('controller' => 'users', 'action' => 'profile'));
如果我想将访问者发送到该页面,我可以使用如下 URL:
$this->redirect('/profile');
$this->Html->link('Your Profile', '/profile');
但是假设我改变了主意,我现在希望 URL 是:
/account
如何在不更改 to 的每个实例的情况下更改整个/profile
站点/account
?
或者...
问我问题的另一种方法是如何使用 Cake 数组语法正确编码所有 URL(我更喜欢这样做而不是硬编码任何东西):
$this->redirect(array('controller' => 'users', 'action' => 'profile'));
$this->Html->link('Your Profile', array('controller' => 'users', 'action' => 'profile'));
然后确保在任何时候调用控制器/动作组合时,它都会将人们发送到 URL:
/profile
并将此规则放在一个可以更改的地方。就像是:
Router::connect(array('controller' => 'users', 'action' => 'profile'), '/profile');
// Later change to
Router::connect(array('controller' => 'users', 'action' => 'profile'), '/account');
有没有办法做到这一点,并且还允许将进一步的请求参数传递到 URL 中?