【问题标题】:Laravel Symfony NotFoundHttpExceptionLaravel Symfony NotFoundHttpException
【发布时间】:2015-03-03 11:32:00
【问题描述】:

我遇到了一个关于 laravel 的有趣问题,有些路由运行良好,有些返回 404,这很奇怪,但请参阅下面的示例。

这是路由运行良好的示例:

Route::get('login', array('uses' => 'HomeController@showLogin'));
Route::post('login', array('uses' => 'HomeController@doLogin'));

但是这个路由返回错误:

Route::get('import', array('uses'=>'ImportController@importForm'));

控制器:

class ImportController extends BaseController {

public function importForm() {
    return "Import From";
}

堆栈跟踪:

Symfony\Component\HttpKernel\Exception\NotFoundHttpException thrown with message ""

Stacktrace:
#11 Symfony\Component\HttpKernel\Exception\NotFoundHttpException in     /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php:148
#10 Illuminate\Routing\RouteCollection:match in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1049
#9 Illuminate\Routing\Router:findRoute in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1017
#8 Illuminate\Routing\Router:dispatchToRoute in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Routing/Router.php:996
#7 Illuminate\Routing\Router:dispatch in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:776
#6 Illuminate\Foundation\Application:dispatch in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:746
#5 Illuminate\Foundation\Application:handle in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Session/Middleware.php:72
#4 Illuminate\Session\Middleware:handle in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Cookie/Queue.php:47
#3 Illuminate\Cookie\Queue:handle in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Cookie/Guard.php:51
#2 Illuminate\Cookie\Guard:handle in /var/www/html/inventory/vendor/stack/builder/src/Stack/StackedHttpKernel.php:23
#1 Stack\StackedHttpKernel:handle in /var/www/html/inventory/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:642

很奇怪不是吗?

然后我尝试添加默认路由(您已经到达):

Route::get('/', function() {return View::make('hello');}); //WORKS WELL
Route::get('/sku', function() {return View::make('hello');}); //DOES'N WORK :)

请看一下,告诉我我做错了什么?

谢谢,新年快乐!

更新:

这些路线也很有效:

Route::get('orders', array('before' => 'auth', 'uses'=>'InventoryController@showOrdersTable'));
Route::get('api/orders', array('as'=>'api.orders', 'uses'=>'InventoryController@getOrdersDatatableJSON'));
Route::match(array("POST", "GET"), 'api/orders/note/save', array('as'=>'api.note', 'uses'=>'InventoryController@saveNote'));
Route::match(array("POST", "GET"), 'api/orders/tracking/save', array('as'=>'api.tracking', 'uses'=>'InventoryController@saveTracking'));
Route::match(array("POST", "GET"), 'api/orders/status/update', array('as'=>'api.status', 'uses'=>'InventoryController@updateStatus'));
Route::match(array("POST", "GET"), 'system/update', array('as'=>'api.update.system', 'uses'=>'InventoryController@updateDatabase'));

【问题讨论】:

  • 我猜你没有正确设置你的 mod_rewrite 规则。 laravel.com/docs/4.2/installation#pretty-urls
  • 感谢您的回答,这很奇怪,但我有更多路线,而且这些路线运行良好……我还启用了 mod_rewrite。 localhost/login - 工作,localhost/sku - NOP ))
  • 你还有哪些路线?有什么包罗万象的吗?
  • routes.php 文件的完整内容可能会有所帮助。
  • 我在描述上添加了一些更新,有些路线效果很好,谢谢

标签: laravel routes http-status-code-404


【解决方案1】:

尝试更改顺序,看看是否有任何不同。喜欢:

Route::get('/sku', function() {return View::make('hello');});     
Route::get('/', function() {return View::make('hello');}); 

【讨论】:

  • 不,这是不同的东西,我将我的 git 存储库重置为较旧的提交并再次添加所有路由,现在它可以工作了。也许我在我的代码中复制了一些隐藏的符号,我不知道 :(
猜你喜欢
  • 2014-06-28
  • 1970-01-01
  • 2014-08-13
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 2016-05-21
  • 2020-12-14
  • 2016-12-02
相关资源
最近更新 更多