【问题标题】:Routing with regex in CakePHP#在 CakePHP 中使用正则表达式进行路由#
【发布时间】:2018-01-25 22:25:42
【问题描述】:

我正在寻找有关在 CakePHP3.4.6 中设置路线的帮助 网址是可变的。例如,我想要以下网址:

/California/Posts/view/Skateboard/Jan2nd/10
/Texas/Posts/view/Truck/Feb10th/35

连接

/Posts/view/10
/Posts/view/35

分别。这样做时,我需要保存在浏览器中的 URL。 (即浏览器 URL 显示 /California/Posts/view/Skateboard/Jan2nd/10 而内容是为 /Posts/view/10 提供的)

这可以通过配置routes.php来实现吗? 任何建议将不胜感激。

我尝试在 webroot/.htaccess 中使用重写规则,例如:

RewriteRule ^[^/]+/Posts/view/[^/]+/[^/]+/(\d+)$ /Posts/view/$1 [L]

但这只会导致 404 错误。模式匹配似乎是正确的,因为以下规则有效:

RewriteRule ^[^/]+/Posts/view/[^/]+/[^/]+/(\d+)$ http://www.google.com [L]

谢谢,

【问题讨论】:

    标签: cakephp-3.4


    【解决方案1】:

    设法解决了这个问题。

    $routes->connect('/:state/Posts/view/:title/:date/:id',
                     ['controller' => 'Posts', 'action' => 'view'],
                     ['id' => '\d+', 'pass' => ['id']]
    

    完成任务

    【讨论】:

      猜你喜欢
      • 2018-08-24
      • 2012-11-06
      • 2014-08-17
      • 2011-06-25
      • 2012-04-30
      • 2015-04-29
      • 2018-08-06
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多