cakephp 路由不允许文件扩展名

发布于 2025-01-06 07:10:30 字数 230 浏览 0 评论 0原文

我需要一个 cakephp 路由,如果与之前不包含文件扩展名的路由不匹配,它将捕获所有 url。

当前捕获所有内容的路线如下

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

我需要将上述路线修改为不捕获所有带有文件扩展名的网址

I need a cakephp route which will catch all urls if not matched in previous routes that do not contain file extensions.

Current route for catch all below

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

I need the above route modified to not all urls with file extensions to be caught

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

厌味 2025-01-13 07:10:30

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

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

上面的代码使以下两个 url 都可以访问:
http://myhost.com/posts/postImage/125

http://myhost.com/posts/postImage/125.png

我认为CakePHP 1.3 也是如此,我希望它对您有所帮助。

What I have donr in my app based on CakePHP 1.2 to add extension to dynamic generated images is as follows:

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

The above code makes both the folloing url are accesible:
http://myhost.com/posts/postImage/125
and
http://myhost.com/posts/postImage/125.png

I think that the same will going with CakePHP 1.3 and I hope that It helps you.

深海夜未眠 2025-01-13 07:10:30

我不太明白你的需求,但你可以这样做:

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'))

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

I don't understand very well your demand, but you can do this:

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

And the link:

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

I hope this will help you. good luck

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文