【问题标题】:Routing with index file laravel 5.4使用索引文件 laravel 5.4 路由
【发布时间】:2017-03-01 09:20:59
【问题描述】:

我正在尝试设置我的 laravel 项目,但我似乎无法让路由正常工作。这是我的 routes/web.php: 路线::post('test','UserController@test'); Route::resource('/','UserController');

现在我的/ 工作了。其中的功能可以工作,但 Laravel 说我的 test 不存在。我收到了404 error

在我的/ 索引中,我有一个这样的表格:

<form method="POST" action="test">

它从laravel/public/laravel/public/test。但显然laravel/public/test 会返回 404 错误。我试图用:Route::post('/test','UserController'); 修复它,但它给出了同样的错误。我看到的文档的唯一 2 个不同之处是我在 / 工作,这不应该有所作为(?),而且我不是直接从 localhost/ 工作,而是在一些地图上存储了我的项目。这也不应该有所作为。我在这里做错了什么?

编辑:

我的控制器:

class UserController extends Controller{

   public function index()
   {
      return view('testindex');
   }

   public function test(){
      return 'test';
   }
}

【问题讨论】:

  • 向我们展示您的控制器
  • @UnamataSanatarai 查看我的编辑
  • 您应该在第二种情况下定义一个动作。喜欢Route::post('test','UserController@test')
  • 检查你的 htaccess 在你的服务器上工作吗?
  • 如果 '/' 有效,但没有其他功能...听起来有点像重写问题

标签: php laravel laravel-5.4


【解决方案1】:

然后您应该通过以下方法之一修复它:

   public function postTest(){
      return 'test';
   }

routes/web.php

Route::post('test','UserController@test');

【讨论】:

  • 我做到了,但它没有为我解决问题。
  • 好的。那么它是 Laravel 404 还是服务器 404?如果是后者,请确保您的 url 重写设置正确
  • 这是一个服务器 404
【解决方案2】:

您使用了错误的网络服务器设置。您需要将 Web 服务器指向 public directory inside Laravel root 并使用正确的设置。

对于 Apache:

DocumentRoot "/path_to_laravel_project/public"
<Directory "/path_to_laravel_project/public">

对于 nginx:

root /path_to_laravel_project/public;

【讨论】:

  • 这并没有为我解决。
  • @Loko 你做错了什么。这绝对是网络服务器的问题。检查其他设置。
  • 如果我去index.php/test,它可以工作。我不得不重写
  • @Loko 如果您在 URI 中看到 index.phppublic,那么您做错了。搜索正常的配置文件并将 Web 服务器指向 public 目录。
猜你喜欢
  • 2017-06-29
  • 2017-07-12
  • 1970-01-01
  • 2017-07-30
  • 2017-09-20
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
相关资源
最近更新 更多