首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Cakephp3.1-如何基于查询字符串值重定向?

Cakephp3.1-如何基于查询字符串值重定向?
EN

Stack Overflow用户
提问于 2016-08-29 23:05:56
回答 1查看 422关注 0票数 0

最近,我们将站点从纯php更新为cakephp 3,并且在将具有params的url重定向到新的url时遇到了困难。

例如,重定向工作很好。

代码语言:javascript
代码运行次数:0
运行
复制
$routes->redirect('/webcast.php', '/webcast', ['status' => 302]);

但是如果有参数,它就不起作用了

代码语言:javascript
代码运行次数:0
运行
复制
$routes->redirect('/webcast.php?id=100', '/webcast', ['status' => 302]);

有什么想法吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-30 16:30:37

路由器不支持查询字符串上的匹配,在检查匹配路由时传递给路由器的URL将不再附带任何查询字符串值。

虽然可以通过使用自定义路由分派器筛选器、自定义/扩展Router类和自定义/扩展RouteCollection类来解决这一问题,但对于一些很容易定义的东西,例如服务器级的重写规则,这似乎工作量太大。

Apache mod_rewrite示例:

代码语言:javascript
代码运行次数:0
运行
复制
RewriteCond %{QUERY_STRING} ^id=100$
RewriteRule ^webcast\.php$ /webcast? [L,R=302]

请注意is usually the preferred redirect method

另请参阅

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39216483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档