2013-05-06 243 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文件中「導入」所有內容。

之後,所有頁面加載,不只是指數。