1

所以我只是将我的网站从我的本地开发环境上传到我的服务器。但是有一个问题。仅加载索引页面。我已经将一些控制器映射到不同的路由,如下所示:

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

//site routes
Route::get('/','site@index');
Route::get('about','site@about');
Route::get('blog','site@blog');
Route::get('downloads','site@downloads');
Route::get('products','site@products');
Route::get('shop','site@shop');

//admin routes
Route::get('login','admin@login');

//ajax functions
Route::get('loadnews/(:num)','ajax@loadnews');
Route::post('sendmessage','ajax@sendmessage');
Route::post('loadblog','ajax@loadblog');
Route::post('loadblogdetails','ajax@loadblogdetails');

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 (net::ERR_EMPTY_RESPONSE): from chrome。

我怎样才能解决这个问题?

当前站点位于:站点

4

5 回答 5

3

我遇到了类似的问题,我解决了它删除该行:

路线::控制器(控制器::检测());

我正在使用命名的 Url。试试看。

于 2013-05-27T20:40:09.037 回答
1

至少在我这一端,我能够通过添加来解决这个问题。RewriteBase /到 .htaccess 文件。现在一切似乎都在正常工作。

于 2013-05-24T13:12:44.270 回答
0

如果还没有,请确保您注册了控制器。

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

如果您在服务器上使用 Apache,请确保mod_rewrite已打开并配置好.htaccess规则集,laravel.htaccess为 Apache 服务器提供了相当不错的功能。

还要确保您已从应用程序配置中删除了“index.php”基本 URL。

这些可能是路由不起作用的最常见原因。您还可以从命令行测试您的路由,使此过程更简单一些:

php artisan route:call get about
于 2013-05-07T21:59:06.490 回答
0

在您的情况下,我必须放置根路由:

Route::get('/','site@index'); 

在 routes.php 文件的底部

于 2013-07-12T09:56:41.847 回答
0

看来您正在使用 Linux,但如果这适用于具有相同问题的未来读者:

对我来说,问题是我在 Windows Server 2008 R2 上运行我的应用程序,并且我没有通过我的 IIS 管理器正确设置 htaccess。我没有意识到我需要这样做,因为对于其他站点,我的 htaccess 文件工作正常,但没有一个使用 mod_rewrite。

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

之后,加载所有页面,而不仅仅是索引。

于 2013-11-29T22:10:31.857 回答