我最近在服务器上上传了一个Laravel应用程序。
从this Question我发现我应该在htaccess
目录中将这些文件添加到public
文件的末尾(在所有laravel配置之后):
<Limit GET POST PUT DELETE>
Allow from all
</Limit>
但服务器无法识别通过 PUT 或 DELETE 方法发送的请求,并显示此错误:
501
Not Implemented
The requested method is not implemented by the server.
Apache版本 2.2.31 ,操作系统 linux 。
什么是问题,并且确实应该添加一些内容?
更新
这是与问题相关的路线的一部分:
Route::group(['prefix' => 'post'], function () {
Route::resource('/category', 'CategoryController');
});
另一方面,我使用$.delete
这样的用户定义函数来发送DELETE
个请求:
$.delete = function (url, data, callback, type) {
if ($.isFunction(data)) {
type = type || callback,
callback = data,
data = {}
}
return $.ajax({
url: url,
type: 'DELETE',
success: callback,
data: data,
dataType: type
});
}
我用它来删除一个类别的ID:
$.delete('http://mysite.ir/post/category/20'+ , {}, function (res) {
// console.log(res);
}, 'json');
删除所选类别的destroy
方法:
public function destroy ($id, Request $request)
{
Category::destroy($id);
return ['success' => true, 'msg' => 'category removed.'];
}