我的路线/web.php中有以下路线。
Route::get('page/{slug}', 'PageController@index')->name('front.page.slug');
Route::get('inquiry/contact-us', 'ComplaintController@index')->name('front.complaint');
Route::get("product/{product}", 'ProductController@show')->name('front.get.product');
它可以正常工作e.g.
当我更改路线时,它显示出产品未在页面模型中退出的错误。
Route::get('{slug}', 'PageController@index')->name('front.page.slug');
Route::get('contact-us', 'ComplaintController@index')->name('front.complaint');
Route::get("{product}", 'ProductController@show')->name('front.get.product');
我不知道如何使用没有资源名称的塞子启动路由,以实现SEO友好URL E.g.
是否有htaccess条件可以删除前缀形式的URI?
答案 0 :(得分:2)
您可以像以下示例一样进行操作:
Route::get('page-{slug}', 'PageController@index')->name('front.page.slug');
Route::get('contact-us', 'ComplaintController@index')->name('front.complaint');
Route::get("product-{product}", 'ProductController@show')->name('front.get.product');
您应该考虑两条路线之间的差异。
{product}和{slug}相同
答案 1 :(得分:0)
Route::get('{slug}', 'PageController@index')->name('front.page.slug');
Route::get('contact-us', 'ComplaintController@index')->name('front.complaint');
如果您喜欢那样。联系我们页面在front.page.slug路由中执行。
您不能在路由文件中使用两个变量。
像这样:
Route::get('contact-us', 'ComplaintController@index')->name('front.complaint');
Route::get('{slug}', 'WebController@index')->name('front.page.slug');
并确定控制器中{slug}的类别。是页还是商品?在同一控制器中执行此操作。否则,仅第一个{}在路由文件中起作用。
答案 2 :(得分:0)
laravel不将{slug}和{product}视为两条不同的路线