【问题标题】:CakePHP routing: forward / and /indexCakePHP 路由:转发/和/index
【发布时间】:2014-02-08 07:47:18
【问题描述】:

我发现了一个奇怪的问题。我运行 website.com。 (本例)

如果我访问 website.com/play,我的所有链接都很好。如果我访问 website.com/play/ 或 play/index,所有链接都会突然断开。

我使用this->Html->url(array('controller' => 'whatever', 'action' => 'whatever')); 构建我的所有网址

我想知道如何才能让某人访问 website.com/play/ 或 website.com/play/index 并将其转发到 website.com/play。这应该没有javascript。我似乎无法弄清楚 CakePHP 的路由是否会这样做,但我几乎可以肯定它会这样做。

Router::connect('/play/', array('controller' => 'plays')); 没有帮助。

更新

环顾互联网,我发现建议 CakePHP 只需使用 .htaccess 重新路由。 This answer:

RewriteRule ^(.*)/$ $1 [R=301,L]

工作得很好。

【问题讨论】:

    标签: cakephp cakephp-2.0 url-routing


    【解决方案1】:
    • 更好的方法是检查链接。
    • 控制器是叫Play还是Plays?您访问的是/play 还是/plays
    • 您是否以这种方式创建链接? echo $this->Html->link('Add User', array('controller' => 'Users', 'action' => 'add'));
    • 您能否粘贴一个示例,说明您在 /play/ 上获得的错误链接以及它是如何创建的?

    【讨论】:

    • 链接都是用 $this->Html->url() 构建的,控制器是plays,我为“/play”创建了一条路由。我用我的解决方案更新了我的问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 2012-02-03
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多