【问题标题】:404 error for 1 Slim route on GoDaddy while it works perfectly on localhostGoDaddy 上的 1 个 Slim 路由出现 404 错误,而它在 localhost 上完美运行
【发布时间】:2017-02-27 11:10:40
【问题描述】:

我在我的 Slim v2 应用程序中声明了多个 GET、POST 和 PUT 路由,并且 API 一直运行良好,直到今天。在 2 个 POST 路由中,第一个声明的路由返回 404 Not Found 错误。这只发生在我在 GoDaddy 主机上调用 API 时;当我在本地主机上测试它时,它工作正常。这太奇怪了,我已经没有关于如何调试这个问题的想法了。我正在使用 Postman 执行和测试对本地和 GoDaddy 两台服务器的调用。此外,对 GoDaddy 托管 API 的调用是通过 HTTPS 完成的。我在两台服务器上的 .htaccess 文件如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L,QSA]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

【问题讨论】:

  • 两条 POST 路由看起来如何?还显示包含标头的 curl 请求示例: $ curl --include example.com/api/foo
  • @MikaTuupola 这个Pastebin 有帮助吗?在我的 API 上执行了几个 GET/POST 请求后,我现在对实际发生的事情更加困惑。
  • @MikaTuupola 这就是我得到的via Postman
  • @MikaTuupola 这是my code的片段;包括路线。
  • 您应该将信息添加到您的问题中,而不是添加到 cmets 中。

标签: php apache slim


【解决方案1】:

当向/apifolder/v1/addcheckin 发送POST 请求时,服务器会以301 重定向响应,这会导致客户端向/apifolder/v1/addcheckin 发出GET 请求。由于没有这样的 GET 路由定义的服务器响应 404 错误。

$ curl -i -X POST https://myurl.com/apifolder/v1/addcheckin
HTTP/1.1 301 Moved Permanently
Date: Sun, 26 Feb 2017 02:26:34 GMT
Location: https://myurl.com/apifolder/v1/addcheckin

检查中间件和其余代码,了解导致 301 重定向的原因。

【讨论】:

  • 感谢您花时间帮助我解决这个问题。我正在研究“Slim 2 POST 路线上的错误 301”。但它仅发生在 addcheckin 路由上的事实是否意味着问题应该出在该特定路由的代码上?
猜你喜欢
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 2020-10-11
  • 2014-09-20
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多