我需要建立这样的URL:
http://www.example.com/param1/param2/param3/.../paramN在搜索页面中,用户通过任何可能的选项进行搜索,因此在Laravel中创建类似的URL将如下所示:
Route::get('{param1?}/{param2?}/{param3?}/.../{paramN?}', array( ... ) );还有别的办法吗?或者将/作为参数的一部分传递给它:
low_range-1000/high_range-5000/weight-2/height-4/red/因此,上线成为路由的一个参数。
有什么帮助吗?
发布于 2014-04-05 07:26:19
我找到了解决办法。只是为了节省别人的时间。
Route::get('{param1}/{param2?}', array( ... ) )->where('param2', '.*');这个路由需要param1作为必需的参数,param2作为可选的参数,可以包含任何字符包括/。
这样我就可以把low_range-1000/high_range-5000/weight-2/height-4/red/传递给param2了。
发布于 2014-06-23 07:56:42
我在URL中执行类似的操作,但是我使用逗号分隔搜索参数,使用:分隔键:value
low-range:1000,high-range:5000,weight:2,height:4,color:red我认为看起来更干净,您不需要允许URL中的所有内容,也不需要允许/在参数中乱七八糟。
对于SEO来说,URL中有太多的/存在被认为是一种不好的做法。
https://stackoverflow.com/questions/22877725
复制相似问题