Laravel路由,带参数重定向
我知道也有类似的问题,但提供的答案对我来说并不适用 我的Laravel应用程序中有以下URL: 现在,“解剖”部分已重命名为“生理学”,相同内容的新URL如下: 这是一个GET路由,格式为Laravel路由,带参数重定向,laravel,routing,routes,Laravel,Routing,Routes,我知道也有类似的问题,但提供的答案对我来说并不适用 我的Laravel应用程序中有以下URL: 现在,“解剖”部分已重命名为“生理学”,相同内容的新URL如下: 这是一个GET路由,格式为physio/{id}/{slug} 现在,我想提供向后兼容性(对于任何可能以旧URL格式为文章添加书签的用户) 因此,我试图重定向,例如,analogy/18917/why-cant-I-bend-my-back到physical/18917/why-cant-I-bend-my-back。我尝试了以下方
physio/{id}/{slug}
现在,我想提供向后兼容性(对于任何可能以旧URL格式为文章添加书签的用户)
因此,我试图重定向,例如,analogy/18917/why-cant-I-bend-my-back
到physical/18917/why-cant-I-bend-my-back
。我尝试了以下方法,但无效:
$router->get('anatomy/{id}/{slug}', function() {
return redirect()->to('physio', ['id' => $id, 'slug' => $slug]);
});
我得到的错误是未定义变量:id
。如果我做了以下操作,它会正确地重定向到主页,但我宁愿重定向到带有给定参数的实际文章
$router->get('anatomy/{id}/{slug}', function() {
return redirect()->to('/');
});
改变
$router->get('anatomy/{id}/{slug}', function() {
return redirect()->to('physio', ['id' => $id, 'slug' => $slug]);
});
到
您需要在函数中传递$id
和$slug
改变
$router->get('anatomy/{id}/{slug}', function() {
return redirect()->to('physio', ['id' => $id, 'slug' => $slug]);
});
到
您需要在函数中传递$id
和$slug
控制器内部
function($id,$slug) {
return redirect()->to('physio', ['id' => $id, 'slug' => $slug]);
};
控制器内部
function($id,$slug) {
return redirect()->to('physio', ['id' => $id, 'slug' => $slug]);
};
当我这样做时,我得到的HTTP状态码“1”无效。设置
physio/id/slug
路由的路由名称。你的新路线。然后使用return redirect()->route('routename',['id'=>$id,['slug'=>$slug])
我认为如果@jovan可以为旧路由命名,那么您可以使用redirect()->route(…)
否则您可以通过自己构建url来节省时间。也就是说,redirect()->to(“pysio/$id/$slug”)
//注意双引号@oluwatobisamuelomisakin当我这样做时,我得到的HTTP状态码“1”无效。你的新路线。然后使用return redirect()->route('routename',['id'=>$id,['slug'=>$slug])
我认为如果@jovan可以为旧路由命名,那么您可以使用redirect()->route(…)
否则您可以通过自己构建url来节省时间。也就是说,redirect()->到(“pysio/$id/$slug”)
//注意双引号@OluwatobiSamuelOmisakin