2013-05-06 188 views
1

所以我只是从我的本地开发环境上传我的网站到我的服务器。 但有一个问题。只有索引页面加载。我已经制定了一些 控制器不同的路线是这样的:Laravel路由(?)问题

//controller detection 
Route::controller(Controller::detect()); 

//site routes 
Route::get('/','[email protected]'); 
Route::get('about','[email protected]'); 
Route::get('blog','[email protected]'); 
Route::get('downloads','[email protected]'); 
Route::get('products','[email protected]'); 
Route::get('shop','[email protected]'); 

//admin routes 
Route::get('login','[email protected]'); 

//ajax functions 
Route::get('loadnews/(:num)','[email protected]'); 
Route::post('sendmessage','[email protected]'); 
Route::post('loadblog','[email protected]'); 
Route::post('loadblogdetails','[email protected]'); 

Event::listen('404', function() 
{ 
    return Response::error('404'); 
}); 

Event::listen('500', function() 
{ 
    return Response::error('500'); 
}); 

Route::filter('before', function() 
{ 
    // Do stuff before every request to your application... 
}); 

Route::filter('after', function($response) 
{ 
    // Do stuff after every request to your application... 
}); 

Route::filter('csrf', function() 
{ 
    if (Request::forged()) return Response::error('500'); 
}); 

Route::filter('auth', function() 
{ 
    if (Auth::guest()) return Redirect::to('login'); 
}); 

当我点击指向这些路线的链接,我已经得到了 简单的错误:324(净值:: ERR_EMPTY_RESPONSE):从铬。

我该如何解决这个问题?

目前位于地点:site

+1

我遇到了这个完全相同的问题。我在本地效果很好,但只有索引页面显示在我的服务器上。你有没有发现它? – Sean 2013-05-23 23:08:14

回答

3

我有一个类似的问题,我解决它删除行:

Route::controller(Controller::detect());

我使用名为URL的。试一试。

+2

这并没有完全解决它,但后来我意识到,我宣布我的路线的顺序确实非常重要。 – peaks 2013-07-25 15:07:14

0

确保如果你还没有注册该控制器。

Route::controller(array('site')); 

如果你在你的服务器上使用Apache,确保mod_rewrite是和配置以及不俗.htaccess规则集,laravel配备了一个相当不错的.htaccess的Apache服务器。

此外,请确保您已从应用程序配置中删除'index.php'基础URL。

这些可能是路由不起作用的最常见原因。

php artisan route:call get about 
+0

我有这Laravel默认给你的.htaccess。我也从网址中删除了index.php部分。此外mod_rewrite已启用,这就是为什么我无法弄清楚为什么我的路线不工作。 – peaks 2013-05-08 18:37:17

+0

您在宣布路线后正在检测控制器... – 2013-05-08 18:39:23

+0

将其移动到顶部,但仍然无法工作。 – peaks 2013-05-08 18:44:04

1

至少在我结束我能够通过增加来解决这个问题:您也可以通过命令行,使这个过程更简单一点测试你的路线。 RewriteBase /添加到.htaccess文件。现在一切似乎都正常。

+0

非常棒 - 这似乎是立即纠正了我的问题! – MuffinTheMan 2014-01-07 03:11:42

0

看来你使用的是Linux的底部,但如果这是适用于用同样的问题未来的读者:

对我来说,问题是,我正在我的Windows Server 2008 R2上的应用程序,我并没有考虑过我的IIS管理器设置htaccess的正确。我没有意识到我需要做的,是因为对其他网站,我的htaccess的文件被工作正常,但使用mod_rewrite他们都不是。

解决方案是安装“IIS URL重写模块2”,然后我可以使用IIS管理器,我会选择从Laravel中包含的默认htaccess文件中“导入”所有内容。

之后,所有页面加载,不只是指数。