我需要自动刷新页面以便机器人读取它,每次显示的文本都会不同。我有这个,但我需要知道我是否可以改进它?
<?php
$deaths = array("with a potato.", "by using a truck and running them over.", "with a gun, bang bang.", "by stuffing a mouldy lemon in their mouth.", "by throwing multiple knives at them.", "by tying them up and forgetting about them.", "by throwing them off a building onto a cactus.");
$death=array_rand($deaths);
echo $deaths[$death];
$url1=$_SERVER['REQUEST_URI'];
header("Refresh: 0.5; URL=$url1");
?>
答案 0 :(得分:0)
为什么不使用header("Refresh:0");
?
答案 1 :(得分:0)
您选择服务器端刷新的事实是一个不错的选择,因为它比客户端刷新(例如JavaScript(window.location.reload()
)或HTML(<meta http-equiv="refresh" content="5" />
)更快。有关此主题的更多信息,建议您阅读这篇有趣的文章([Client-Side vs. Server-Side Rendering])
你为机器人设计了这个,那么为什么要在刷新之前等待呢?
如果您的页面中有其他PHP脚本,客户端浏览器或服务器与客户端浏览器之间的任何代理缓存都不能缓存,您可以将此行添加到页面中:{{1} }
此外,正如您在问题的评论中提到的那样:
必须在发送任何实际输出之前调用header() 普通的HTML标签,
header("Cache-Control: no-cache, must-revalidate");
鉴于这些事实,我建议您按如下方式更改您的代码:
$url1=$_SERVER['REQUEST_URI'];