Api Laravel 4删除/放置被阻止

Api Laravel 4删除/放置被阻止,api,rest,laravel,laravel-4,cartalyst-sentry,Api,Rest,Laravel,Laravel 4,Cartalyst Sentry,我的所有删除和放置请求都被阻止(405)。我已尝试在前后过滤器中放置标题: App::before(function($request) { header('Access-Control-Allow-Origin', '*'); header('Allow', 'GET, POST, OPTIONS, PUT, DELETE'); header('Access-Control-Allow-Headers', 'Origin, Content-Type, Accept, A

我的所有删除和放置请求都被阻止(405)。我已尝试在前后过滤器中放置标题:

App::before(function($request)
{
    header('Access-Control-Allow-Origin', '*');
    header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');
    header('Access-Control-Allow-Headers', 'Origin, Content-Type, Accept, Authorization, X-Request-With');
    header('Access-Control-Allow-Credentials', 'true');
});


App::after(function($request, $response)
{
    $response->headers->set('Access-Control-Allow-Origin', '*');
    $response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    $response->headers->set('Access-Control-Allow-Headers', 'Origin, Content-Type, Accept, Authorization, X-Requested-With');
    $response->headers->set('Access-Control-Allow-Credentials', 'true');
    $response->headers->set('Access-Control-Max-Age','86400');
    return $response;
});
我已尝试添加.htaccess规则,以允许它们位于laravel公用文件夹中:

<Limit GET POST PUT DELETE HEAD OPTIONS>
    Order allow,deny
    # You might want something a little more secure here, this is a dev setup
    Allow from all
</Limit>
<LimitExcept POST PUT DELETE HEAD OPTIONS>
    Order deny,allow
    Deny from all
</LimitExcept>

过滤器文件中没有什么特别之处,只是使用Sentry2进行用户管理。任何帮助都将不胜感激

没关系,这是一个早早打电话给长夜的证明,如果你已经精疲力竭了,你几乎是无用的

基本上,您需要密切关注控制台,以确保实际到达了正确的端点。例如:

1) 删除本地主机/项目

与:

2) 删除localhost/project/api/v1/endpoint/IDofItem

在第一个实例中,您将得到一个405方法not allowed,这使它看起来好像DELETE是不允许的,但实际上它表明没有与项目的基础相对应的控制器方法

第二天早上醒来后,在2分钟内找到了答案(再次吸取教训)

// PUBLIC
Route::group(array('prefix' => 'api/v1'), function()
{
    Route::post('login', array('uses'=>'UsersController@login'));
    Route::get('status', array('uses'=>'UsersController@status'));
});

// PROTECTED BY SENTRY
Route::group(array('prefix' => 'api/v1', 'before' => 'auth'), function()
{
    Route::get('logout', array('uses'=>'UsersController@logout'));
    Route::get('users/whoami', array('uses'=>'UsersController@whoami'));
    Route::resource('users', 'UsersController');
    Route::resource('programs', 'ProgramsController'); // THIS ROUTE KEEPS 405'ING ME
});