2016-08-04 177 views
1

我通常使用開發laravel和工匠,但在這種情況下,我必須在lampp中設置laravel。我有一個像LARAVEL 5.2路由對象未找到

Route::group(['middleware' => 'cors', 'prefix' => 'service'], function() { 

    Route::group(['prefix' => 'master'], function() { 

    Route::resource('produk', 'Master\ProdukController'); 
    Route::resource('agama', 'Master\AgamaController'); 
    }); 
Route::resource('list-generic', 'ListGeneric', ['only' => ['index']]); 
}); 

路線和我的公共文件夾中.htacess:

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

# Handle Authorization Header 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

我的問題是。當我訪問此鏈接:

http://172.16.16.1/a-web/service/list-generic?select=id 

它完美地工作, 但是當我用這個鏈接訪問「/」後列表通用:

http://172.16.16.1/a-web/service/list-generic/?select=id 

顯示錯誤對象沒有找到, 請需要幫助..

+0

什麼是您收到的確切的錯誤?對於Apache服務器找不到 –

+0

目標是,爲什麼在nginx的工作是完美的, 我已經找到解決辦法,我必須使用.httpaccess像下面的評論後, 無論如何,感謝您的回答:) –

回答

1

這必須是因爲你的路線文件。
當您添加
Route::resource('list-generic', 'ListGeneric', ['only' => ['index']]);
Laravel將只使用路線

http://172.16.16.1/a-web/service/list-generic 

和不

http://172.16.16.1/a-web/service/list-generic/ 

爲上述路線工作,你必須將可選參數添加到route

Route::resource('list-generic/{?query}', 'ListGeneric', ['only' => ['index']]); 

此路線將處理所有這兩種類型的鏈接。

+0

什麼讓我迷惑 –

+0

不,這是不正確的,這意味着查詢參數是可選的 –

+0

問題是使用不同的查詢樣式 –

1

我已經找到解決方案爲我自己的問題。 最後我必須編輯.httaccess文件:

Options -MultiViews 
RewriteEngine On 
RewriteBase /a-web/ 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ $1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L]