Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 基于原始URL重定向用户_Jquery_Redirect_Http Redirect - Fatal编程技术网

Jquery 基于原始URL重定向用户

Jquery 基于原始URL重定向用户,jquery,redirect,http-redirect,Jquery,Redirect,Http Redirect,我需要将流量重定向到基于其原始URL的URL ·siteabc.co.uk域将重定向到sitexyz.co.uk/camps ·网站abc.co.uk/daycamps也将存在 我希望发生的是,如果客户在siteabc.co.uk中键入,他们将被重定向到sitexyz.co.uk/camps,其中会出现一个弹出窗口/灯箱,上面会显示“您正在寻找Daycamp吗?”如果单击,用户将被带到siteabc.co.uk/Daycamps 如果他们直接登陆sitexyz.co.uk/camps,则不应显示

我需要将流量重定向到基于其原始URL的URL

·siteabc.co.uk域将重定向到sitexyz.co.uk/camps

·网站abc.co.uk/daycamps也将存在

我希望发生的是,如果客户在siteabc.co.uk中键入,他们将被重定向到sitexyz.co.uk/camps,其中会出现一个弹出窗口/灯箱,上面会显示“您正在寻找Daycamp吗?”如果单击,用户将被带到siteabc.co.uk/Daycamps

如果他们直接登陆sitexyz.co.uk/camps,则不应显示弹出窗口

我需要灯箱只有在从siteabc.co.uk到达时才显示,这可能吗


我认为jQuery应该能够做到这一点,但我不确定是否有一个使用的起点。非常感谢您的帮助。

如果您只想使用JavaScript,请使用
document.Referer
获取Referer URL。它将为您提供从哪里重定向到该页面的信息。但依赖服务器端脚本总是更好的

这更像是服务器端的事情,因为您可以很容易地看到引用的URL,您最好的选择是使用您正在使用的任何代码来添加一个基于其来源的类,如果您显示您的代码,我可以提供更多帮助,但在此之前,根据服务器请求添加一个类,NodeJS在这方面非常出色,但在PHP方面同样如此。在大多数情况下,它也更准确。

您可以使用URL参数来决定显示什么。考虑下面的简单例子。

重定向1.html

<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function () {
    window.location.assign('redirect2.html?redirect1');
};
</script>
</head>
<body>
</body>
</html>

window.onload=函数(){
window.location.assign('redirect2.html?redirect1');
};
redirect2.html(同一目录)


window.onload=函数(){
var paramString=window.location.href.split(“?”)[1];
if(paramString!==未定义){
console.log(paramString);
}
};
第一个文件中的JS将页面重定向到第二个文件(您也可以向location.assign函数提供URL)。 第二个文件中的JS解析自己的URL,并将“?”之后的部分打印到浏览器控制台。相反,您可以根据“?”后面的内容(例如域名)来决定要做什么


附加说明可能很方便。

如果您在任何Apache Web服务器上工作,那么问题的解决方案就是使用.htaccess文件。htaccess文件(分布式配置文件)提供了一种按目录进行配置更改的方法

首先创建一个名为.htaccess的文件,并将其保存在根目录中。对于您的情况,请访问siteabc.co.uk/.htaccess

由于Apache server的不同版本,配置文件语法可能会发生更改,因此以下代码应该可以正常工作

类型:1

重新启动引擎
重写基/
重写cond%{HTTP_HOST}!siteabc.co.uk/$[NC]
重写规则^(.*)$siteabc.co.uk/camps/$1[L,R=301]

类型:2

重新启动引擎
重写条件%{REQUEST_URI}^/$
重写规则(*)siteabc.co.uk/camps[R=301,L]


类型:3

重新启动引擎
重写规则^$/camps[L]




谢谢

工作得很好!谢谢
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function () {
    var paramString = window.location.href.split('?')[1];
    if (paramString !== undefined) {
        console.log(paramString);
    }
};
</script>
</head>
<body>
</body>
</html>