首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel 4中传递多个可选参数以进行路由

在Laravel 4中传递多个可选参数以进行路由
EN

Stack Overflow用户
提问于 2014-04-05 07:03:34
回答 2查看 2.9K关注 0票数 6

我需要建立这样的URL:

代码语言:javascript
复制
http://www.example.com/param1/param2/param3/.../paramN

在搜索页面中,用户通过任何可能的选项进行搜索,因此在Laravel中创建类似的URL将如下所示:

代码语言:javascript
复制
Route::get('{param1?}/{param2?}/{param3?}/.../{paramN?}', array( ... ) );

还有别的办法吗?或者将/作为参数的一部分传递给它:

代码语言:javascript
复制
low_range-1000/high_range-5000/weight-2/height-4/red/

因此,上线成为路由的一个参数。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-05 07:26:19

我找到了解决办法。只是为了节省别人的时间。

代码语言:javascript
复制
Route::get('{param1}/{param2?}', array( ... ) )->where('param2', '.*');

这个路由需要param1作为必需的参数,param2作为可选的参数,可以包含任何字符包括/

这样我就可以把low_range-1000/high_range-5000/weight-2/height-4/red/传递给param2了。

票数 7
EN

Stack Overflow用户

发布于 2014-06-23 07:56:42

我在URL中执行类似的操作,但是我使用逗号分隔搜索参数,使用:分隔键:value

代码语言:javascript
复制
low-range:1000,high-range:5000,weight:2,height:4,color:red

我认为看起来更干净,您不需要允许URL中的所有内容,也不需要允许/在参数中乱七八糟。

对于SEO来说,URL中有太多的/存在被认为是一种不好的做法。

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

https://stackoverflow.com/questions/22877725

复制
相关文章

相似问题

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