Laravel 7.x
舉例子1
--route--
Route::get('table', function () {
return view("table_6");
});
--view-- <link rel="stylesheet" href="public/css/site.css">
--運行後結果正常--http://127.0.0.1/myroot/public/css/site.css
舉例子2
--route--
Route::get('table/abx/6', function () {
return view("table_6");
});
--view-- <link rel="stylesheet" href="public/css/site.css">
--運行後結果路徑被添加table/abx/--http://127.0.0.1/myroot/table/abx/public/css/site.css
顯然laravel會把table/abx/當作資料夾路徑,想問是否有方法禁用它,謝謝了。
解一:用網站根目錄<link rel="stylesheet" href="public/css/site.css">
改<link rel="stylesheet" href="/public/css/site.css">
解二:丟到CDN server<link rel="stylesheet" href="https://cdn.example.com/public/css/site.css">
解三:加網址<link rel="stylesheet" href="https://example.com/public/css/site.css">
這不是 laravel 的問題。你採用相對路徑的用去就會這樣子處理沒錯。
一般我js或css相關,在laravel,都會用如下處理
<script type="text/javascript" src="{{asset('./js/theme.js')}}"></script>
而在一般html頁上
則會用指定式根目錄處理
<script type="text/javascript" src="/js/theme.js"></script>
這樣我就比較單純多。不用去處理相對路徑的問題。