在路线文件中有一行像
Router::connect('/', array('controller' => 'admins', 'action' => 'login'));
如果有人写了http://abc.com/webroot或http://abc.com/css_or_js之类的网址,我想做点什么,那么它也会转到管理员的登录操作。如果是那么我该怎么办?
Router::connect('/webroot/*', array('controller' => 'admins', 'action' => 'login'));
Router::connect('/css/*', array('controller' => 'admins', 'action' => 'login'));
Router::connect('/js/*', array('controller' => 'admins', 'action' => 'login'));
但它现在适用于webroot
,并且不适用于css或js文件夹或任何其他文件夹。请帮我解决这个问题。我将非常感谢你。
答案 0 :(得分:0)
css和js路由不起作用的原因是因为Cake的调度程序将它们视为资产,因此它skips the routing process entirely并传递资产。正如我所看到的,解决这个问题的唯一方法是编写自定义调度程序。
您不应该为webroot目录及其文件夹编写路由。 webroot文件夹应该是虚拟主机上的文档根目录,因此被视为站点的根目录。