我需要根据网址的原始网址将流量重定向到网址。
·siteabc.co.uk域名将重定向到sitexyz.co.uk/camps
·siteabc.co.uk/daycamps也将存在
我想要发生的是,如果客户输入siteabc.co.uk,他们将被重定向到sitexyz.co.uk/camps,其中弹出/灯箱会出现说'你在寻找Daycamps吗? '如果点击,用户将被带到siteabc.co.uk/daycamps
如果他们直接登陆sitexyz.co.uk/camps,则不应显示弹出窗口。
我需要只有在他们从siteabc.co.uk到达时才会显示灯箱,这可能吗?
我认为jQuery应该可以做到,但我不确定是否有一个起点可以使用。任何帮助表示赞赏。
答案 0 :(得分:0)
如果您只想通过JavaScript执行此操作,请使用document.referrer
获取Referer URL。它将从您重定向到该页面的位置为您提供。但依靠Server Side Scripting总是更好。
答案 1 :(得分:0)
这更像服务器端,因为您可以轻松查看引用URL,您最好的选择是使用您正在使用的代码来根据其来源添加类,如果您显示代码我可以帮助更多,但在此之前添加一个基于服务器请求的类,NodeJS在这方面很出色但同样如此PHP。在大多数情况下,它也更准确。
答案 2 :(得分:0)
您可以使用URL参数来决定要显示的内容。请考虑以下简单示例。
redirect1.html
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function () {
window.location.assign('redirect2.html?redirect1');
};
</script>
</head>
<body>
</body>
</html>
redirect2.html(同一个目录)
<!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>
第一个文件中的JS将页面重定向到第二个文件(您也可以使用URL提供location.assign函数)。 第二个文件中的JS解析自己的URL并在&#39;?&#39;之后打印该部分。到您的浏览器控制台。相反,你可以决定做什么,取决于&#39;?&#39;之后的内容。 (域名,例如)。
P.S。 This reference可能很方便。
答案 3 :(得分:0)
如果您正在使用任何Apache Web服务器,那么您的问题的解决方案是使用.htaccess文件。 htaccess文件(分布式配置文件)提供了一种基于每个目录进行配置更改的方法。
首先创建一个名为.htaccess的文件,并将其保存在根目录中。在您的情况下,在siteabc.co.uk/.htaccess
由于不同版本的Apache服务器配置文件语法可能会发生变化,因此以下是应该运行的代码
类型:1
RewriteEngine On
RewriteBase /
RewriteCond%{HTTP_HOST}!siteabc.co.uk/$ [NC]
RewriteRule ^(。*)$ siteabc.co.uk/camps/$1 [L,R = 301]
类型:2
重写发动机
RewriteCond%{REQUEST_URI} ^ / $
RewriteRule(。*)siteabc.co.uk/camps [R = 301,L]
类型:3
RewriteEngine On
RewriteRule ^ $ / camps [L]
感谢