【问题标题】:How to resolve urls correctly in Laravel?如何在 Laravel 中正确解析 url?
【发布时间】:2020-02-21 16:55:18
【问题描述】:

我有产品详细信息的 url (domain.com/productdetail/1/name-of-product),当我仍在此 url 中单击“关于我们”页面时,我收到错误“此 url 不存在”( domain.com/productdetail/1/about-us)。我怎样才能让网址正确解析为 domain.com/about-us

这是我的产品详细路线

Route::get('/productDetail/{id}/{pro_name}', 
'HomeController@detailPro');

这是关于我们的路线

Route::get('about-us', function(){
return View('about');
});

我想得到确切的路线(domain.com/about-us),而不是在当前网址(domain.com/productdetail/1/about-us)的末尾链接。

【问题讨论】:

  • 应该没关系,但您尝试过使用Route::get('/about-us' ... 吗?
  • 确实尝试将链接提供为/about-us 而不是about-us

标签: php laravel laravel-5 laravel-routing


【解决方案1】:

最好将路由命名为路由。

Route::get('/productDetail/{id}/{pro_name}','HomeController@detailPro')->name('product.view');

Route::get('about-us', function(){
  return View('about');
})->name('about-us');

调用具体路由为

 <a href="{{route('about-us')}}">about us</a>
 <a href="{{route('product.view',['id' => $id, 'pro_name' => 'name_of_product'])}}">View Product</a>

【讨论】:

    【解决方案2】:

    使用@jitheshJose 回答的别名可以解决您的问题,但我认为您的问题很简单:

    您在“domain.com/productdetail/1/name-of-product”页面上,并且您有一个指向 href="about-us" 的链接。

    当点击此链接时,会跳转到“domain.com/productdetail/1/about-us”。

    要解决此问题,请将 href 中的链接更改为 href="/about-us"

    为了更好地了解这里发生的事情,请查看相对链接和绝对链接之间的区别。

    【讨论】:

      【解决方案3】:

      这是您可以使用的选项。

          Route::get('product-detail/{id}/{pro_name}', [
              'as' => 'product.view',
              'uses' => 'HomeController@detailPro',
          ]);
      
          Route::get('about-us', [
              'as' => 'about'
          ], function(){
                return View('about');
          });
      

      链接:

       <a href="{{route('about')}}">About</a>
       <a href="{{route('product.view',['id' => $id, 'pro_name' => 'name_of_product'])}}">My Product</a>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多