laravel路由不适用于所需参数

时间:2015-09-04 07:33:07

标签: php routing laravel-5.1

我的routes.php中有一条路线,如

Route::get('{subcat}', array(
  'uses'  => 'frontend\homeController@uploadAd'
))

我发现上述路线正在影响我的userlogout路线,就像这样。

Route::get('userlogout', array(
   'uses' => 'frontend\homeController@userlogout'
));

我从刀片视图中获取{subcat}路由参数,如

<a href="{{ subcategoryslug}}">subcategoryname</a>

如果我在{subcat}中添加了routes.php路由,则userlogout路由无法正常工作,但可以评论我的{subcat}路由,甚至修改该路由,如:

 Route::get('something/{subcat}', array(
      'uses'  => 'frontend\homeController@uploadAd'
    ))

使用户能够从系统中注销。

我在这里做错了什么?有什么我不能仅指定route parameter route name吗?

1 个答案:

答案 0 :(得分:1)

我认为你可以通过在subcat路由之后定义注销路由来解决这个问题:

Route::get('{subcat}', array(
  'uses'  => 'frontend\homeController@uploadAd'
));

Route::get('userlogout', array(
   'uses' => 'frontend\homeController@userlogout'
));

这种情况正在发生,因为第一条路线将匹配任何带有单个参数的网址。据我所知,在这种情况下,定义路线的顺序很重要。