我想稍微擦除和清理我的代码。
我在.htaccess中有这个规则
RewriteRule ^(.+),(.+),(.+),([0-9]+).php$ /hotels/description/$4/3
RewriteRule ^(.+)+(.+)-([0-9]+).php$ /hotels/description/$3/4
RewriteRule ^([0-9]+).php.*$ /hotels/description/$1/1
RewriteRule ^([0-9]+).htm.*$ /hotels/description/$1/2
我想改进并制作cakephp路由规则。
我需要这样的东西:
Router::connect('/:descId',
array('controler' => 'hotels', 'action' => 'description'),
array(
'descId' => '[0-9]+'
),
array('pass'=>array('descId'))
);
可悲的是,这根本不起作用。它正在寻找控制器。导致验证[0-9]不起作用。
Missing Controller
Error: 18182.phpController could not be found.
Error: Create the class 18182.phpController below in file: app\controllers\18182.php_controller.php
<?php
class 18182.phpController extends AppController {
var $name = '18182.php';
}
?>
如果我删除规则,我只能使它工作。
Router::connect('/:descId',
array('controler' => 'hotels', 'action' => 'description'),
array('pass'=>array('descId'))
);
问题在于我将为链接制定另一条规则:
domain.com/Country,Region,Hotel,Number.php
有人可以帮我写这些规则吗?
答案 0 :(得分:2)
Router::connect('/:descId',
array('controller' => 'hotels', 'action' => 'description'),
array(
'pass' => array('descId'),
'descId' => '[0-9]+',
));