在服务器端,是否有办法检测某个给定的页面/脚本是否通过JavaScript重定向?
例如,我们说我有page.php使用location.href = 'tracker.php';
而不是<?php header('Location: tracker.php'); ?>
。 tracker.php是否有办法区分前者,基于JavaScript的重定向和服务器端301重定向?
答案 0 :(得分:0)
您可以将参数传递给tracker.php,该参数可用于判断它是否来自javascript。
使用Javascript:
location.href = 'tracker.php?redirect=1';
tracker.php
<?php
if(isset($_GET["redirect"])){
//if we're here, we know it was redirected
}
?>
这将让您的PHP脚本知道重定向是否来自您的javascript。
答案 1 :(得分:0)
重定向基本上只是另一个HTTP GET,你无法看到它是如何被触发的。我能看到的唯一方法是手动传递参数或发送HTTP标头来标记JavaScript触发的重定向。