Laravel RESTful 返回 301 状态

Posted

技术标签:

【中文标题】Laravel RESTful 返回 301 状态【英文标题】:Laravel RESTful returning 301 state 【发布时间】:2014-12-20 21:11:01 【问题描述】:

伙伴们, 我正在开发一个 Backbone/Laravel 应用程序。 当我尝试向某个资源发送 POST 请求时,它会返回 301 状态而没有响应,无论在控制器上我正在打印“hello world”,以检查它是否达到了这一点。

这里有一些代码...

public function store()
    
        //
        return 'hello world';
    

这是 routes.php

Route::group(array('before' => 'auth'), function()

    Route::get('/', 'SitesController@index');
    Route::resource('rooms', 'RoomsController');

);

所以,当我向

发出 POST 请求时
rooms

有一些信息要保存,它让我返回 301 状态,根本没有任何响应。

知道我做错了什么吗?

提前致谢!

【问题讨论】:

【参考方案1】:

由于某种原因,在Laravel 中发布到“图像”,即使没有尾随“/”也会给我一个301 Moved Permanently HTTP 响应。

我的公共目录中没有“图像”文件夹,并且仍然不明白为什么会发生重定向。

将请求更改为“foo”似乎可以正常工作。

因此,如果您是因为试图安静地存储图像而找到此页面,请尝试以下操作:

Route::resource('api/image', 'ImageController');

【讨论】:

【参考方案2】:

(添加这个答案以防有人和我有同样的问题)

就我而言,我有一个资源videos,它给出了完全相同的问题。原因是我在服务器 /videos/ 上还有一个目录(其中包含文件),服务器在让 Laravel 将其定向到控制器之前试图将其指向我。

【讨论】:

【参考方案3】:

解决了!

在骨干收集配置中,我的 url 参数末尾带有“/”。

rooms/

删除了那个斜线,现在它可以正常工作了。 希望有人觉得这有帮助

【讨论】:

刚刚拯救了我的一天

以上是关于Laravel RESTful 返回 301 状态的主要内容,如果未能解决你的问题,请参考以下文章

RESTful API 错误最佳实践

如何使用中间件来授权我的 laravel Restful API

HTTP 状态码 301 302

网络状态码301与302

从 HttpWebRequest 和 HttpWebResponse 获取 Http 状态码(200、301、404 等)

getResponseCode获取URL响应状态码每次都是返回200是啥原因