Вы путаете часть URL / пути с названием маршрута. Измените код на
@if(Request::path() === 'search')
<p> results page </p>
@else
<p> Other page </p>
@endif
и все должно работать как положено.
Из документации :
" Метод path возвращает URI запроса. "
Часть URI вашего маршрута - «/search
» (которая также может быть записана как search
). имя этого маршрута - "results
", которое используется для ссылки на этот URI: return route('results');
выведет "http://localhost:8000/search"
Редактировать: Маршруты с параметрами:
Если у вас есть маршрут
Route::get('/user/{uid}', [
'uses' => 'UserController@show',
'as' => 'userprofile'
]);
, вы можете проверить маршрут конкретного пользователя (http://localhost/user/3
), используя:
@if ( Request::path() == 'user/3')
<p>User Profile 3</p>
@else
<p>NOT User Profile 3</p>
@endif
Если вы хотите проверить любой маршрут пользователя (http://localhost/user/1
, http://localhost/user/2
...) используйте имя маршрута:
@if ( Request::route()->getName() == 'userprofile')
<p>User Profile</p>
@else
<p>NOT User Profile</p>
@endif