首页 > 解决方案 > Route::redirect 使用自定义 url ( /products/{name} )

问题描述

我想将所有“获取”从“/products/PRODUCTNAME”重定向到“/product/PRODUCTNAME”。我尝试使用 Route::redirect 来做到这一点:

Route::redirect('/products/{name}', '/product/{name}');

但是,如果我转到“mypage.com/products/HJ-3000”,它应该将我重定向到“mypage.com/product/HJ-3000”,但我得到的文字是“mypage.com/products/{name }”。

我知道我可以用 Route::get 做到这一点,但我想知道如何用 Route::redirect 做到这一点。

标签: phplaravellaravel-5

解决方案


你可以试试这个

Route::get('/products/{name}', function ($name) {
    return Redirect::to('/product/$name');
});

使用 Route::redirect

Route::redirect('/products/{name}', str_replace_first('/products/{name}', '/product/{name}', Request::fullUrl()), 301);

Route::redirect 在 Laravel 5.5+ 中使用通配符

**未经测试


推荐阅读