我想暂时将用户重定向到一个广告页面,然后在10秒后再将他们返回到他们想要的页面。
我不知道如何做到这一点,因为我不太了解PHP或Java。所以请给我提供完整的重定向代码,并指导我把代码放在哪里。
我在首页使用$_GET参数,所以假设我的urls如下所示:
mydomain.net/games/?game=PUBG+Mobile&Rating=5
mydomain.net/games/?game=Apex+Legends&Rating=4
mydomain.net/games/?game=GTA+5&Rating=4.5我希望每个url重定向到ads.php页面,然后在10秒后重定向回原始url,再也不会重定向。
发布于 2019-07-11 12:43:26
首先:Java !== Javascript
Java和Javascript是相似的,就像Car和Carpet一样。
来源:https://stackoverflow.com/a/245068/3119231
-
若要将用户重定向到其他位置,您可以使用:
// Simulate a mouse click:
setTimeout(function() { // timer
window.location.href = url;
}, 10000); // 10000 ms = 10 seconds
// Simulate an HTTP redirect:
setTimeout(function() { // timer
window.location.replace(url);
}, 10000); // 10000 ms = 10 seconds把它放在你喜欢的文件里。
来源:webpage.asp
奖励(CaitLAN Jenner):您需要防止文档在无限循环中重定向。你的访问者会每10秒从一个站点被推送到另一个站点。
发布于 2019-07-11 13:04:39
@Maurice提到了如何在JavaScript中执行HTTP重定向。但是,如果您在两个页面上都这样做,那么您将发现自己处于一个无限重定向循环中,这是非常糟糕的。为了扩展这个答案,这里有一些PHP可以通过使用查询字符串参数动态地禁用从原始页面的第二个重定向(请参见string)。
首先,您需要在文档的顶部包含以下PHP代码。如果您有其他PHP代码,只需将此代码的内部放在下面即可。这将接受重定向查询字符串。
<?php
$redirect = 1
if (isset($_GET['redirect'])) {
$redirect = htmlspecialchars($_GET["redirect"]);
}
?>现在,在文档的后面(最好是在正文的末尾或头部),您需要使用PHP本身动态地生成JavaScript。
<?php
if ($redirect == 1)
{
echo "<script>";
echo "// Simulate an HTTP redirect:";
echo "setTimeout(function() { // timer";
echo "window.location.replace(url);";
echo "}, 10000); // 10000 ms = 10 seconds";
echo "</script";
}
?>请注意,这里需要用适当的url替换"url“,这可能需要正确转义引号(请参阅https://www.php.net/manual/en/function.addslashes.php)。
最后,您需要在重定向回原来的页面上适当地设置“重定向”查询字符串。您可以这样做:
mydomain.net/games/?game=PUBG+Mobile&Rating=5&redirect=0
在第二个页面上,每个请求更新一次,您不需要上面提到的逻辑。您只需要一个JavaScript 10秒重定向即可。像这样的东西应该管用。
<script>
url = "mydomain.net/games/?game=PUBG+Mobile&Rating=5&redirect=0";
// Simulate an HTTP redirect:
setTimeout(function() { // timer
window.location.replace(url);
}, 10000); // 10000 ms = 10 seconds
</script>注意,这里我使用了一个静态URL。如果您希望这个URL是动态的,您可以使用我提到的解决无限重定向的完全相同的方法。换句话说,将原始URL作为查询字符串参数传递给广告页,通过PHP在广告页面上解析它,并使用PHP动态地在上面的代码中创建url。
https://stackoverflow.com/questions/56989430
复制相似问题