2016-08-04 149 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]