У меня есть маршрут, определенный в моем файле route.php, как показано ниже:
Route::get('{test1}/{test2}/{test3}', function($test1, $test2, $test3) {
$result = [$test1, $test2, $test3];
return view('view', compact('result'));
});
он отлично работает в моем контроллере, но в части просмотра, когда я вижу это в браузере, когда я просто пишу что-то вроде этого в браузере:
http://localhost/mysitefolder/public/test1/test2/test3
он загружает представление и передает все данные, но получает все мои активы, такие как таблицы стилей, изображения и скрипты, с URL-адреса, как показано ниже:
Http: //localhost/mysitefolder/public/test1/test2/js/jquery.js
почему это происходит?
заранее спасибо!
Два решения либо используют /
в начале ваших URL, чтобы относительная адресация не использовалась или использовать вспомогательные функции laravel {{ asset('/js/script.js') }}
,
Когда вы не используете «/» в начале своего URL, он обрабатывается так, как если бы он был относительным адресом, и в его начале добавляется текущее местоположение.
Иногда даже «/» не будет работать, если ваше приложение не обслуживается на корневом уровне. Например, у вас есть заявление на http://localhost/yourapplication
затем /
будет ссылаться на ваш локальный хост вместо приложения, поэтому лучше всего использовать вспомогательную функцию laravel.
Других решений пока нет …