繁体   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