【发布时间】:2022-03-30 22:19:50
【问题描述】:
在过去的某个时候,我的公司更改了我们的搜索工具以及 url 中搜索查询的格式。
它曾经是一个典型的查询参数:
/product-name-some-digits-12345?q=searchterm
但现在它作为一个片段发送:
/product-name-some-digits-12345##search:query=searchterm
我们对旧格式的页面进行了少量访问——要么是以太网中的链接,要么是用户在支持搜索的 JS 加载之前搜索。为了缓解这种情况,我想编写一条从旧格式重定向到新格式的路由。
我想我可以通过在路由文件web.php 中添加类似下面的内容来做到这一点:
Route::get(\'{base}?q={query}\', function ($base, $query) {
// output for now, write redirect later
dd($base . \'#search:query=\' . $query);
})->where([
\'base\' => \'[^\\?]?\',
\'query\' => \'.*\',
]);
但这条路线并没有被击中。
当存在查询字符串时,如何编写 Laravel 路由以执行操作?
标签: php regex laravel routes query-string