1

我想稍微擦除和清理我的代码。

我在 .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

有人可以帮我写这些规则吗?

4

1 回答 1

2
Router::connect('/:descId',
    array('controller' => 'hotels', 'action' => 'description'),
    array(
        'pass' => array('descId'),
        'descId' => '[0-9]+',
));
于 2013-11-07T14:33:51.553 回答