Cakephp 登录会从我的URL中删除slug
我正在使用Cake 2.1.3和routes.php文件,除了登录管理之外,其他一切都正常工作,例如,我希望我的url如下所示:Cakephp 登录会从我的URL中删除slug,cakephp,Cakephp,我正在使用Cake 2.1.3和routes.php文件,除了登录管理之外,其他一切都正常工作,例如,我希望我的url如下所示: Router::connect( '/:slug/users/login', // E.g. /companyx/users/login array('controller' => 'users', 'action' => 'login'), array( // order matters '
Router::connect(
'/:slug/users/login', // E.g. /companyx/users/login
array('controller' => 'users', 'action' => 'login'), array(
// order matters
'pass' => array('slug')
)
);
其中companyx是slug,但在浏览器中运行该url时,如下所示:
Router::connect(
'/:slug/users/login', // E.g. /companyx/users/login
array('controller' => 'users', 'action' => 'login'), array(
// order matters
'pass' => array('slug')
)
);
在这个文件routes.php中,我定义如下:
Router::connect(
'/:slug/users/login', // E.g. /companyx/users/login
array('controller' => 'users', 'action' => 'login'), array(
// order matters
'pass' => array('slug')
)
);
对于其他控制器,我没有任何问题,例如:
Router::connect(
'/:slug/users', // E.g. /companyx/users
array('controller' => 'users', 'action' => 'index'), array(
// order matters
'pass' => array('slug')
)
);
致以最良好的祝愿;) CakePHP在AuthComponent中定义了一个默认登录操作。(第171行)
您可以在自己的UsersController中使用beforeFilter覆盖此操作。谢谢您的回答。我这样解决了这个案子:
public function beforeFilter() {
parent::beforeFilter();
if (!$this->request->is('post')) {
$this->Auth->loginAction = 'this is:slug/users/login/';
}
}
其中“这是slug”,应该是slug
致以最良好的祝愿