[英]Laravel 8 - Detail url is not correctly mapped
我正在使用laravel 8
並在apache/ubuntu 20
服務器上運行它
我的路線如下所示:
web.php
Route::get('/', 'IndexController@index');
Route::get('/company/{symbol}', 'CompanyController@index');
在我的.env
文件中, APP_URL
如下所示:
APP_URL=http://localhost/laravel_app/public
我可以通過以下方式到達我的基地 url /
:
http://localhost/laravel_app/public/
當我 go 從/
到另一個細節 url f.ex. /company/AAPL
,我得到:
在我的基本 ( /
) url 的刀片文件index.blade.php
文件中,單擊鏈接的代碼如下所示:
@foreach ($company as $i)
<tr>
<th scope="row"><a href="/company/{{$i->symbol}}">{{$i->name}} ({{$i->symbol}})</a></th>
<td>{{$i->date}}</td>
...
</tr>
@endforeach
為什么 Route /company/{symbol}
未正確映射?
有什么建議我做錯了嗎?
感謝您的回復!
使用 function url 它將創建有效的 url
url("/company/{{$i->symbol}}")
路線 function 非常有助於 url 創建給出路線名稱
Route::get('/company/{symbol}', 'CompanyController@index')->name('company.page');
何時需要打印 url
route('company.page', ['symbol' => $i->symbol])
它將返回有效的 url
當您將 / 放在路徑的開頭時,它將 go 到您項目位置的根目錄 | 領域。 您必須將其設置為:
href="company/{{$i->symbol}}"
或使用url
助手
url('company' . $i->symbol)
但更好的方法是將路線命名為:
// add name to your route
Route::get('/company/{symbol}', 'CompanyController@index')->name('company.index');
// call the route helper to return the url
route('company.index', ['symbol' => $i->symbol]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.