laravel 路由不正确

Incorrect routing with laravel

我有一个 laravel 应用程序的路由问题。

我有以下路线:

Route::get('home', array

       ('as' => 'home', 
        'uses' => 'HomeController@getHome'

       ));

这导致以下 url:

192.168.2.22/laravel/public/home

一切都很好。

然后我有第二条路线是这样的:

Route::get('users/{id?}', function($id) {


   $user = Users::find($id);

return View::make('Account.profile')->with('user', $user);
});

这导致以下 url:

192.168.2.22/laravel/public/users/1

现在,当我从该页面再次单击主页 link 时,我得到:

192.168.2.22/laravel/public/users/home

这当然给我一个错误。

我该如何解决这个问题?

不要使用手工链接...

这样做:

<a class="navbar-brand" href="<?php echo link_to_route("home");?>">home</a>

如果您使用 php OR blade,这将起作用,但我建议像 blade 那样做:

<a class="navbar-brand" href="{{link_to_route("home")}}">home</a>

使用一些 Laravel 助手来确保您的链接始终有效:

echo link_to_route('route.name', $title, $parameters = array(), $attributes = array());

使用 {{ URL::to('home') }}(路线的 URL)或 {{ URL::route('home') }}(路线的名称)作为 link 的 href 属性将解决此问题.

即:

<a class="navbar-brand" href="{{ URL::route('home') }}">home</a>