404 Not Found,但路线存在于Laravel 5.4中

问题描述 投票:3回答:6

我正在使用PhpStorm。我可以运行并打开index.php,但是当我想按下提交按钮(登录后)时,找不到它的显示404。

Web服务器Apache 2.4在Windows 10上运行。

这是我的家

index.php

这是我的路线

web.php

laravel laravel-5 phpstorm laravel-5.4
6个回答
7
投票

我不完全确定为什么所有的下选票,特别是因为这是一个常见的问题,并且可以为Laravel环境的新人隐藏原因。我知道这是一个旧帖子,但我在这里为未来的新手添加它。

我建议尝试的第一件事是从命令行(从您的项目根目录)运行php artisan route:list。这将列出Laravel可以注册的所有路由,如果有任何错误,通常会显示在此处。

我建议的第二件事是确保URL匹配路由。我不能告诉你有多少次我试图弄清楚为什么我的路线返回404只是因为当我的路线定义为/insertStudent时,我的表格发布到/admin/insertStudent之类的东西

我建议的第三件事是确保你调用的方法存在。你的方法真的被称为postSignInpostInsertStudent而不仅仅是SignInInsertStudent?请记住,URL和方法名称都区分大小写,并且应该与您定义路由的位置,正在调用的URL以及接收请求的方法相匹配。

最后,如果所有检查结果,我建议你尝试的最后一件事是运行php artisan route:clear。这会重置路由缓存。


2
投票

我有同样的问题,并通过以下修复

我有编辑.htaccess文件

RewriteEngine On
RewriteBase /path/of/project/folder/
# change above to your site i.e.,  RewriteBase /whatever/public/

希望它能为你效劳


0
投票

确保,你的路线中传递的网址相同。检查表单中的参数和操作。要明确回答你的mvc


0
投票

在尝试多次修复后,更改服务器端口对我来说都无济于事。我在localhost:3000上运行并更改为localhost:4000。我认为这可能与某些内存缓存有关


-1
投票

请让Apache配置以下信息

in /etc/apache2/apache2.conf

添加以下信息

<Directory "path/to/laravel/project/public">
    Allowoverride All
</Directory>

位于公用文件夹中的.htaccess文件确保它具有以下内容

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
       Options -MultiViews
   </IfModule>
   Options +FollowSymlinks
   RewriteEngine On

   # Redirect Trailing Slashes...
   RewriteRule ^(.*)/$ /$1 [L,R=301]

   # Handle Front Controller...
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ index.php [L]
</IfModule>

-1
投票

dontforget,url是文件夹名称的敏感大小写

© www.soinside.com 2019 - 2024. All rights reserved.