当前位置: 首页 > 知识库问答 >
问题:

Laravel 8返回404未找到

谭安翔
2023-03-14

我正在用Laravel 8制作一个论坛,基本上每当用户在这个论坛上提问时,它应该被重定向到这个问题。

我还想使重定向过程基于问题的slg字段。

返回重定向('questions/{slug}')

这是看问题的路线:

Route::get('questions/{slug}',[QuestionController::class,'showQuestion'])

然后我在控制器上编码:

public function showQuestion($slug)
    {
        $show = Question::find($slug);

        if(is_null($show)){
            abort(404);
        }

        return view('questions.question',[
            'show' => $show
        ]);
    }

但现在的问题是,当我尝试添加新问题时,该问题将成功添加,但它会将我重定向到404页面。重定向后的URL也如下所示:

http://localhost:8000/questions/{slug}

但是,如果我尝试在/questions/之后手动添加一个已经存在于db中的slug,我仍然会得到相同的404错误!

那么这里出了什么问题?我如何正确地重定向用户到该路线的的每个问题?

如果你能帮我解决这个问题...


共有1个答案

仇承志
2023-03-14

你可以做两件事。

>

Route::获得('问题/{问题:鼻涕虫}',[问题控制器::class,'show问题']

控制器中,您可以使用依赖项注入,如下所示

public function showQuestion(Question $question)
{
  
    return view('questions.question',[
        'show' => $question
    ]);
}

公共功能展示问题($slug){

    $show = Question::where('slug', $slug)->first();

    if(is_null($show)){
        abort(404);
    }

    return view('questions.question',[
        'show' => $show
    ]);
}
 类似资料:
  • 我有一个xamarin应用程序,可以从webAPI中提取数据。我多次检查api地址,我确信它是正确的。当我调试代码时,服务器上出现404 not found错误。然而,当我将URL复制并粘贴到浏览器时,我得到了预期的结果。我不明白为什么我的应用程序返回404。 我的方法: 我的桥接方法到HttpClient的PostAsync方法: 代币:正确 API URL:正确(我从调试输出中检查“/”符号。

  • 我创建了一个部署、一个服务和一个入口,以便能够从我的主机访问NGINX web服务器,但我一直没有找到404。经过长时间的故障排除,我已经到了一个非常欢迎帮助的地步。 步骤和相关yaml文件如下所示。 启用Minikube NGINX入口控制器 minikube插件支持入口 创建NGINX web服务器部署 创建ClusterIP服务以管理对POD的访问 创建入口以从集群外部访问服务 测验 连接到

  • 我用Spring 4和Spring security设置了一个简单的REST API web.xml AccountController.java mysabisabi-servlet.xml mysabisabi-security.xml 应用程序上下文.xml 日志文件 当我尝试访问 我得到 我已经尝试了 和作为url模式,但仍然相同。 有人能指出我错过了什么吗? 谢了。

  • 我正在按照一些教程从头开始建立一个spring mvc项目。最初,我将web应用程序配置为在Tomcat中运行。我编写了一个简单的controller类,请求点击“/”。但tomcat总是向我显示“HTTP状态404-找不到”错误。 我看了很多这样的问题,但那些答案对我都不起作用 删除tomcat安装并重新配置。当点击localhost:8080/时,我将获得tomcat主页。 检查了代码的拼写

  • 当我从JavaScript客户端调用AWS API网关时,会出现404 not found错误,因为SDK调用了错误的endpoint: https://www.myserver.com/abc123.execute-api.us-east-1.amazonaws.com/dev/status 而不是 https://abc123.execute-api.us-east-1.amazonaws.c

  • 我将使用此jwt令牌对api-gateway进行另一次调用,以访问受保护的服务。 API gateway API gateway项目具有以下相关依赖项: 我在application-dev.yml中设置了这个配置 您可以看到寻址服务的路由(当时没有服务发现)。我实现了一个SecurityConfig类,如教程中所示: 希望我报告了所有需要的信息,我会请求一些帮助,使用从keycloak获得的访问令