首页 > 解决方案 > 如何将重定向的网站刷新到php上的正常页面?

问题描述

我正在尝试编写 php 来刷新 url 重定向。饱和度是如果目标页面繁忙,它将重定向到像http://www.go.com/busy.php这样的 url 。如果一切正常,它将转到http://www.go.com。我想刷新网页,直到它进入正常页面。

这是我的代码,但我认为这是错误的......

<?php

$url = "http://www.go.com/busy.html";
$url2 = "http://www.go.com/action.php";
$page = $_SERVER['PHP_SELF'];
$sec = "1";


if ($url == $url2) {
   header ("http://www.go.com/action.php");
} 
else {
   header ("Refresh: $sec; url=$page");
}
?>

标签: php

解决方案


我相信您要问的是如何在远程服务器响应时间达到阈值之前将用户保留在页面上。

您可以向第一个 URL 发出 cURL 请求,以查看它是否满足超时要求。如果失败,则重定向到新 URL。

这是未经测试的:

<?php
$urlToCheck = "http://www.example.com/";
$maxAllowedRequestTime = 3; // Seconds

$ch = curl_init($urlToCheck);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
$requestTime = curl_getinfo($ch, CURLINFO_TOTAL_TIME);
curl_close($ch);

// Allow redirect because timeout is less than or equal to $maxAllowedRequestTime
if (false !== $requestTime && $requestTime <= $maxAllowedRequestTime) {
   header ("Location: $urlToCheck");
} else {
   // Refresh current page until request time is less than or equal to $maxAllowedRequestTime
   header ("Refresh:1");
}

推荐阅读