【问题标题】:Laravel routing not working correctly for static pageLaravel 路由对于静态页面无法正常工作
【发布时间】:2019-09-29 10:10:03
【问题描述】:

/resources/views/layout/partials/nav.blade.php

<li><a href="/LaravelCrud/public/tasks/about">About</a></li>

/routes/web.php

Route::resource('tasks', 'TaskController'); 

/app\Http/Controllers/TaskController.php

    public function about()
    {       
         return view('tasks.about');
    }   

/resources/views/tasks/about.blade.php

@extends('layout.layout')
     @section('content')
      <div><h3>hello world </h3></div>
@endsection

收到此错误

抱歉,找不到您要查找的页面。

【问题讨论】:

    标签: php laravel routes


    【解决方案1】:

    将 url 更改为路由并将其定义到路由文件中。

    <li><a href="{{ route('task.about') }}">About</a></li>
    

    Route.php

    Route::get('task/about', 'TaskController@about')->name('task.about');
    

    如果您想使用直接 URL,那么您可以使用 {{ url('task/about')}} 而不是 {{ route('task.about') }}

    注意:因为您在 web.php 文件中定义了resource,它包含许多方法和 URL。

    Route::resource('tasks','eventcontroller');
    
    Verb          Path                         Action  Route Name
    GET           /tasks                       index   tasks.index
    GET           /tasks/create                create  tasks.create
    POST          /tasks                       store   tasks.store
    GET           /tasks/{tasks}               show    tasks.show
    GET           /tasks/{tasks}/edit          edit    tasks.edit
    PUT|PATCH     /tasks/{tasks}               update  tasks.update
    DELETE        /tasks/{tasks}               destroy tasks.destroy
    

    【讨论】:

    • 出现错误 ` public function setLocale($locale) { $locale = preg_replace_callback('/[-]([a-z]{2,})/' , function ($matches) { // _2-letters 是一个区域,_3+-letters 是一个变体 return ''.call_user_func(strlen($matches[1]) > 2 ? 'ucfirst' : 'strtoupper' , $matches[1]); }, strtolower($locale)); if ($this->loadMessagesFromFile($locale)) { parent::setLocale($locale);返回真; } 返回假; } } `
    • Symfony\Component\Debug\Exception\FatalErrorException (E_UNKNOWN) 允许的内存大小为 134217728 字节已用尽(尝试分配 1882092160 字节)
    • 太好了,现在您的路由正在调用,但此错误来自另一个函数,因为您定义了调用此 setLocale 函数的中间件,请检查您的中间件并尝试解决这里有问题,
    • 这里我忘了加逗号请检查更新的答案。 -&gt;name('task.about');
    • 我检查了中间件似乎一切正常。 - EncryptCookies.php - RedirectIfAuthenticated.php - TrimStrings.php - TrustProxies.php - VerifyCsrfToken.php
    猜你喜欢
    • 2018-01-17
    • 2017-10-15
    • 1970-01-01
    • 2016-12-05
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多