我似乎遇到了非常奇怪的问题。
我在 URL 上调用 file_get_contents() 来获取电子邮件的 html。
像这样 -
file_get_contents('http://www.mywebsite.co.uk/email.php?name=Seb');
我已经使用这个方法上千次了。
当我调用 url 时,即使文件存在,我也会收到 404 header 。经过进一步调查,当我调用根域时,我得到一些默认的保留页面 -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Refresh" content="0;url=defaultsite" />
<!-- UK -->
</head>
<body>
</body>
</html>
我检查了 DNS 记录,它们似乎是正确的。当我 ping url 时,我得到了正确的服务器 IP。如果我从命令行运行 -
curl http://www.mywebsite.co.uk
我得到相同的默认页面。然而,如果我将它 curl 到我的机器上,我就会得到正确的主页。有某种缓存吗?!
尝试了多次搜索,但都卡住了。非常感谢任何帮助!!
最佳答案
如果存在缓存,您可以通过向请求添加一个包含当前时间戳的参数来避免它。
file_get_contents('http://www.mywebsite.co.uk/email.php?name=Seb&t='.time());
它将强制服务器获取请求的资源。
关于php - file_get_contents() 返回缓存的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35019940/