Mel*_*iah 11 phpstorm laravel laravel-5 laravel-5.4
我正在使用PhpStorm。我可以运行并打开index.php,但是当我想按Submit按钮(登录后)时,找不到其显示404。
在Windows 10上运行的Web服务器Apache 2.4。
这是我的家
这是我的路线
Rub*_*nce 31
请确保您在 Apache 中配置了以下信息 /path/to/apache2/installation/conf/httpd.conf
<Directory "path/to/laravel/project/public">
Allowoverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
对于.htaccess位于public/文件夹中的文件,请确保它包含以下内容:
<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>
Run Code Online (Sandbox Code Playgroud)
然后启用Apachemod_rewrite模块:
sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
Oll*_*lly 18
我遇到了同样的问题并通过更改路由的订购方式来解决它。
前:
Route::get('/p/{post}', 'PostsController@show');
Route::get('/p/create', 'PostsController@create');
Run Code Online (Sandbox Code Playgroud)
之后:(和那个 404 消失了)
Route::get('/p/create', 'PostsController@create');
Route::get('/p/{post}', 'PostsController@show');
Run Code Online (Sandbox Code Playgroud)
Chr*_*ish 16
我不完全确定为什么要进行所有否决,特别是因为这是一个常见问题,而对于Laravel环境新手来说,原因可能是隐藏的。我知道这是一篇旧文章,但我将其添加到此处以供将来的新手使用。
我建议尝试的第一件事是php artisan route:list从命令行(从项目根目录)运行。这将列出Laravel可以注册的所有路线,并且如果有任何错误,通常会在此处显示。
我建议的第二件事是确保URL与路由匹配。我无法告诉您有多少次我试图弄清为什么我的路线返回404的原因仅仅是因为我的表单正在张贴到诸如以下/insertStudent路线中/admin/insertStudent
我建议的第三件事是确保要调用的方法存在。是你的方法真的叫postSignIn和postInsertStudent而不是简单的SignIn和InsertStudent?请记住,URL和方法名称均区分大小写,并且应与定义路由的位置,正在调用的URL以及正在接收请求的方法相匹配。
最终,如果所有检查都结束了,我可能建议您尝试的最后一件事正在运行php artisan route:clear。这将重置路由缓存。
Ruh*_*ara 14
尝试
php artisan route:clear
php artisan route:cache
Run Code Online (Sandbox Code Playgroud)
然后输入这个,看看你的路线是否存在于列表中
php artisan route:list
Run Code Online (Sandbox Code Playgroud)
并且在 Middleware\VerifyCsrfToken.php 中也允许检查发布路由
class VerifyCsrfToken extends Middleware {
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'api/*'
];
}
Run Code Online (Sandbox Code Playgroud)
小智 12
我通过执行以下两个步骤在Larvel 8.34上修复了此错误
php artisan route:clearlocalhost:8000/clear-cache。它应该显示“完成”。该问题应该随后得到解决。
我遇到了同样的问题并通过以下方式修复
我已经编辑了 .htaccess 文件
RewriteEngine On
RewriteBase /path/of/project/folder/
# change above to your site i.e., RewriteBase /whatever/public/
Run Code Online (Sandbox Code Playgroud)
希望它对你有用
这是一个老问题,但还很活跃。对于Windows用户如果使用资本项目中的字符(大写字母)的文件夹,你应该用你的浏览器一样。如果您的项目在"c:\xampp\htdocs\MyProject\"您应该使用MyProject作为 url 而不是myproject
例如在上面的项目 (MyProject) 以下路线中:
Route::get('/dashboard', function () {
return 'welcome to dashboard!';
});
Run Code Online (Sandbox Code Playgroud)
如果您使用:
http://MyProject/dashboard
Run Code Online (Sandbox Code Playgroud)
但最好在目录中使用小写字符
不要忘记路线的顺序。例如,如果您想要前往/path/second并注册以下路线:
Route::get('/path/{dynamic_second}', 'Controller@actionDynamic');
Route::get('/path/{dynamic_second}/{dynamic_third}', 'Controller@third');
Route::get('/path/second', 'Controller@action');
Run Code Online (Sandbox Code Playgroud)
这将被破坏,因为second被 消耗/path/{dynamic_second}。
如果你想访问/path/second,你必须像这样列出你的路线:
Route::get('/path/second', 'Controller@action');
Route::get('/path/{dynamic_second}', 'Controller@actionDynamic');
Route::get('/path/{dynamic_second}/{dynamic_third}', 'Controller@third');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13386 次 |
| 最近记录: |