我正在使用CakePHP创建一个网站。 它有用户注册和登录系统。
首先,我有controller
名为HomeController
,其中有三种方法
1)index();
2)login();
3)register();
默认情况下index()
方法将执行。
我有以下代码来调用其他两种方法。
<? php
echo $this->Html->link('Login',array('controller'=>'Home','action'=>'login'),array('escape'=>FALSE));
echo $this->Html->link('Register',array('controller'=>'Home','action'=>'register'),array('escape'=>FALSE));
?>
所以,现在当我点击上面的链接(login
,register
)时,它会调用适当的方法,而url
将类似于
www.example.com/home/login
和www.example.com/home/register
现在我想从网址中删除控制器名称,因为该方法位于同一个控制器中。
所以url
应该是
www.example.com/login
和www.example.com/register
有可能吗? 请帮忙..
答案 0 :(得分:5)
在app \ Config \ routes.php中添加以下行
Router::connect('/login', array('controller' => 'home', 'action' => 'login'));
Router::connect('/register', array('controller' => 'home', 'action' => 'register'));
它会将默认网址转换为您想要的网址
www.example.com/login and www.example.com/register
答案 1 :(得分:1)
Router::parseExtensions('json');
Router::connect('/*', array('controller' => 'home',
'action' => 'login'));
Router::connect('/login', array('controller' => 'home',
'action' => 'login'));