簡體   English   中英

Laravel 8 - 細節 url 未正確映射

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM