0

我有一个可以工作的 laravel 安装,我想在其中添加一条路线,但它不起作用。

Route::get('asdf', function() {return "asdf";});

所有其他路线都有效,但新路线无效,甚至控制器路线也无效。我刚刚尝试简化上面的示例以在此处发布。

  1. 我用完整的项目 laravella\laravella创建了一个 github 项目
  2. 克隆项目
  3. 删除了compiled.php
  4. composer install
  5. php artisan dump-autoload
  6. php artisan serve --port 80

服务器控制台报告此错误:

[Fri Jul 12 10:11:11 2013] 127.0.0.1:51042 Invalid request (Unexpected EOF)
[Fri Jul 12 10:11:11 2013] 127.0.0.1:51043 Invalid request (Unexpected EOF)
[Fri Jul 12 10:11:11 2013] 127.0.0.1:51044 Invalid request (Unexpected EOF)

下面是日志。

谢谢。

[2013-07-12 08:29:44] log.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\xampp\htdocs\lv\laravella\vendor\laravel\framework\src\Illuminate\Routing\Controllers\Controller.php:290
Stack trace:
#0 [internal function]: Illuminate\Routing\Controllers\Controller->missingMethod(Array)
#1 C:\xampp\htdocs\lv\laravella\vendor\laravel\framework\src\Illuminate\Routing\Controllers\Controller.php(138): call_user_func_array(Array, Array)
#2 C:\xampp\htdocs\lv\laravella\vendor\laravel\framework\src\Illuminate\Routing\Controllers\Controller.php(115): Illuminate\Routing\Controllers\Controller->callMethod('missingMethod', Array)
#3 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(4741): Illuminate\Routing\Controllers\Controller->callAction(Object(Illuminate\Foundation\Application), Object(Illuminate\Routing\Router), 'missingMethod', Array)
#4 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Array)
#5 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(7810): call_user_func_array(Object(Closure), Array)
#6 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(7797): Illuminate\Routing\Route->callCallable()
#7 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(4752): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#8 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(480): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#9 C:\xampp\htdocs\lv\laravella\bootstrap\compiled.php(469): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#10 C:\xampp\htdocs\lv\laravella\public\index.php(49): Illuminate\Foundation\Application->run()
#11 C:\xampp\htdocs\lv\laravella\server.php(19): require_once('C:\xampp\htdocs...')
#12 {main} [] []
4

1 回答 1

1

如果你有任何控制器路由,请确保Route::get('asdf', function() {return "asdf";});在控制器路由之上,因为控制器路由是贪婪的,他们不会让Route::get()处理他们的路由,因为它应该有。

编辑看着你的 github 克隆routes.php它就像

Route::controller('account', 'AccountController');
Route::controller('/', 'HomeController');
Route::get('asdf', function() {return "asdf";});

所以为了让你Route::get('asdf','...');工作,只需将它添加到控制器路由之上,例如

Route::get('asdf', function() {return "asdf";});
Route::controller('account', 'AccountController');
Route::controller('/', 'HomeController');

它会起作用

于 2013-07-12T09:42:20.580 回答