编辑:我认为这个问题是由于没有正确设置Apache,这两个链接帮助我。
解:
http://laravel.io/forum/06-11-2014-not-found-but-route-exists
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
您可以将图像存储在归档系统的文件夹中
如何使用参数进行外部redirect
什么是选项+ FollowSymLinks?
未定义的索引:在Laravel迁移时REMOTE_ADDR
在Heroku Laravel实例上设置HTTPSredirect
结束编辑
我正在遵循Laravel 5.2快速入门指南。 https://laravel.com/docs/5.2/quickstart
我正在运行的Ubuntu 14.04.2
该网站最初运行,但后来当我点击添加任务button,我遇到了404未find错误。
根据指南,我运行以下命令来设置完整的快速入门项目。
git clone https://github.com/laravel/quickstart-basic quickstart cd quickstart composer install PHP artisan migrate
另外我运行下面的命令,因为我在一台ubuntu服务器上:
sudo chown -R www-data.www-data quickstart sudo chmod -R 755 quickstart sudo chmod 777 quickstart/storage
<?PHP use AppTask; use IlluminateHttpRequest; Route::group(['middleware' => ['web']],function () { // Route::get('/',function () { $tasks = Task::orderBy('created_at','asc')->get(); return view('tasks',[ 'tasks' => $tasks ]); }); Route::post('/task',function (Request $request) { $validator = Validator::make($request->all(),[ 'name' => 'required|max:255',]); if($validator->fails()) { return redirect('/') ->withinput() ->withErrors($validator); } $task = new Task; $task->name = $request->name; $task->save(); return redirect('/'); }); // Route::delete('/task/{task}',function (Task $task) { $task->delete(); return redirect('/'); }); });
我试图改变一些代码在资源/视图/ tasks.blade.PHP从:
<!-- New Task Form --> <form action="/task" method="POST" class="form-horizontal">
<!-- New Task Form --> <form action="/learninglaravel/laraquickstart/quickstart/public/task" method="POST" class="form-horizontal">
所以我的问题是只有当我按下button,我得到一个404错误
// *****编辑:
我试图编辑邮政路线,但不能解决问题。
Route::post('/learninglaravel/laraquickstart/quickstart/public/task',]); if($validator->fails()) { return redirect('/') ->withinput() ->withErrors($validator); } $task = new Task; $task->name = $request->name; $task->save(); return redirect('/'); });
错误是:
Not Found The requested URL /learninglaravel/laraquickstart/quickstart/public/task was not found on this server.
代替:
Not Found The requested URL /task was not found on this server.
我做了你所build议的詹姆斯,你是对的,它使url更改为
/ learninglaravel / laraquickstart /快速启动/公/任务
但我仍然得到页面的错误未find。 唯一的区别是从下面的错误更改为上面的错误消息。 (我也尝试手动更改route.PHP文件中的url和tasks.blade.PHP以反映相同的URL。因此,上面的URL将在routes.PHP和tasks.blade.PHP
我在一个Ubuntu的AWS服务器上运行,也许我犯了一个错误呢? 我认为快速入门教程是针对家园问题编写的,我遇到了数据库问题(我只是手工创build了一个,指南没有详细说明,我想可能是在家园中预先configuration好自动使用数据库)
干杯
Laravel文件下载响应内容types是text / html在localhost中
从ubuntu上的laravel开始
Apache Mod重写Laravel
当你改变你的表单动作参数
/learninglaravel/laraquickstart/quickstart/public/task
您将要发送HTTP POST请求
{scheme}://{domain}//learninglaravel/laraquickstart/quickstart/public/task
所以laravel会寻找这条路线,显然它不会找到它。
从“ 快速入门”指南中 ,您可以使用url帮助程序生成表单操作URL:
生成给定路径的完全限定的URL。
因此,您可以像这样在表单上使用它:
<!-- New Task Form --> <form action="{{ url('task') }}" method="POST" class="form-horizontal">
这将确保您始终发布到您网域的正确网址,而无需手动指定。
给它一个去看看我的意思,但在你的情况下,它会产生一个网址,你的任务路线沿线(根据您的评论); 52.60.22.45/learninglaravel/laraquickstart/quickstart/public/task
只是启用mod_rewrite引擎,它将完美的工作。 我花了2个多小时才找到解决方案和解决方案。 所以不要浪费你的时间,只需按照以下命令启用mod_rewrite引擎,然后重试:
sudo a2enmod rewrite
不要忘记重新启动Apache服务器
sudo /etc/init.d/apache2 restart
要么
sudo service apache2 restart
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。