gpt4 book ai didi

php - file_get_contents - 无法打开流 : HTTP request failed! HTTP/1.1 404 未找到

转载 作者:IT王子 更新时间:2023-10-29 00:18:17 27 4
gpt4 key购买 nike

将网站移至新域后,file_get_contents 出现了一些奇怪的问题。我必须设置一个新的域和 IP 地址(使用 Plesk)才能使新的 ssl 证书生效。现在我的 file_get_contents 在同一个域上调用脚本给了我这个:

failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

如果我在另一台服务器上使用 file_get_contents 调用相同的 url,它工作正常,如果我从失败的服务器调用 www.google.com,那么似乎只有我在同一台服务器上调用 url !

我觉得这可能与一台服务器上有两个具有两个不同 ssl 证书的 IP 有关,当我从服务器获取服务器的 file_get_contents/(索引页)时,我得到了 plesk '这是一个新的域”页面,因此当它从自己的服务器调用时,它就像 apache 没有查找正确的虚拟主机。

澄清(希望!):

在托管域的服务器上:

file_get_contents('https://mydomain.com?limit=4&offset=0&s_date=2012-02-05&e_date=2012-03-13&order=release_date&dir=desc&cid=12');

给出“无法打开流:HTTP 请求失败!HTTP/1.1 404 未找到”

file_get_contents('http://www.google.com');

正常工作

在另一台服务器上:

file_get_contents('https://mydomain.com?limit=4&offset=0&s_date=2012-02-05&e_date=2012-03-13&order=release_date&dir=desc&cid=12');

工作正常。

我已经尝试关闭 ssl,但我仍然遇到同样的问题。

最佳答案

我也遇到过这个问题,当我在家里的一个小测试服务器上工作时。域名解析为您的外部 IP 地址,并发送请求。但是因为请求来自您的网络内部,所以路由器不会将其识别为正常请求。它可能有一个用于配置它的 Web 界面,并尝试从它自己的管理系统返回一个页面,然后在您指定的路径中找不到该页面。

在那种情况下,我在 Windows PC 上工作,我可以通过将我正在测试的域添加到我的 hosts 文件来解决它,指定 127.0.0.1 作为 IP 地址(或服务器的 IP 地址,如果它是同一网络中的另一台机器)。我认为在 Linux 中应该有类似的解决方案。

问题不是 PHP 或您的服务器,而是您的路由器。

关于php - file_get_contents - 无法打开流 : HTTP request failed! HTTP/1.1 404 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9574130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com