cakephp路由不允许文件扩展名

时间:2012-02-17 18:49:20

标签: regex cakephp routes cakephp-1.3

我需要一个cakephp路由,如果在以前不包含文件扩展名的路由中没有匹配,它将捕获所有URL。

当前捕获的路线

Router::connect('/*', array('controller' => 'frontend', 'action' => 'display',null));

我需要修改上述路由,而不是所有带文件扩展名的网址都被捕获

2 个答案:

答案 0 :(得分:0)

我不太了解你的要求,但你可以这样做:

Router::parseExtensions('html');
Router::connect('/*/:title', array('controller' => 'frontend', 'action' => 'display',null), 
              array(
        'pass' => array('title')
      )
);  

链接:

$html->link('Title', array('controller' => 'frontend', 'action' => 'display', 'title' => Inflector::slug('text to slug', '-'), 'ext' => 'html'))

我希望这会对你有所帮助。祝你好运

答案 1 :(得分:0)

我在基于CakePHP 1.2的应用程序中为动态生成的图像添加扩展的内容如下:

Router::connect('/postImage/*', array('controller' => 'posts','action' => 'postImage', 'url' => array('ext' => 'png')));

上面的代码使得以下网址都可以访问: http://myhost.com/posts/postImage/125http://myhost.com/posts/postImage/125.png

我认为CakePHP 1.3也会如此,我希望它可以帮到你。