一个艰难的页面重定向问题

2016-05-28 20:54:03 +08:00
 gogosun
求教:
比如访问网址: www.a.com/a.html 后页面内容为: V2EX 真棒!
然后我希望在访问另一个网址: www.a.com/a.html?from=b 后,重定向到上面的网址: www.a.com/a.html
但是页面内容显示为: V2EX 大神聚集地!


请问该如何实现?
1773 次点击
所在节点    问与答
13 条回复
soland
2016-05-28 21:03:19 +08:00
cookies?
subpo
2016-05-28 21:11:46 +08:00
request.referer
JiShuTui
2016-05-28 21:22:34 +08:00
session 或 cookie 都可以
pimin
2016-05-28 21:51:03 +08:00
asp
2016-05-28 23:24:51 +08:00
伪静态,有服务器权限也可以改映射,这个就坑了!
popok
2016-05-29 01:08:21 +08:00
referer
gogosun
2016-05-29 01:30:29 +08:00
@soland
@subpo
@JiShuTui
@pimin
@asp
@popok
各位大神,本来我想简单的说明问题,不过似乎没说到主题。实际的问题是这样子:
先定义 2 个链接:
A=http://www.680109.top/g20160528054043724005394/g20160508200004340421368/AAABVRk3yD0AAAABMwAAADM.html

B= http://www.680109.top/g20160528054043724005394/g20160508200004340421368/AAABVRk3yD0AAAABMwAAADM.html?from=timeline&isappinstalled=0

我有一个链接 A 在微信里面打开是一个过劳的 10 个危险信号页面。
但是在 A 链接加上尾巴,最后的链接是 B 效果。
然后再从微信里面打开,是一个视频页面。并且 B 链接在打开后自动去掉了尾巴变成了 A 链接。

我扒了 A 页面代码,发现有下面的 js :

<script type="text/javascript">
var articleUrl = "http://www.wehappyd.com/agile-cms/touch/article.action?id=g20150924070028956132562&preview=1";
var isFromTimeline = "false";
var isFromGroupmessage = "false";
if (isFromTimeline == "true" || isFromGroupmessage == "true") {
setTimeout(function(){
location.replace('');
}, 500);
} else {
document.getElementById("mainFrame").src = articleUrl;
document.getElementById("mainFrame").removeAttribute("style");
}
</script>

那个过劳危险信号页面其实是 http://www.wehappyd.com/agile-cms/touch/article.action?id=g20150924070028956132562&preview=1 的内容。

那么问题来了,

打开 B 链接是如何自动去掉了尾巴?from=timeline&isappinstalled=0 ,并且显示的页面内容是含视频的页面而不是过劳危险页面?

是通过重定向,传递了 isFromTimeline 或者 isFromGroupmessage 参数到 A 页面么?
如果是如何重定向,如何传递?

如果不是,是如何实现上述流程的呢

谢谢
pimin
2016-05-29 02:07:49 +08:00
@gogosun
试了一下,我这里打开页面和参数没有关系
微信打开就是视频
手机浏览器打开就是过劳
所以推断是单纯的根据 UA 返回不同的值。
popok
2016-05-29 02:08:11 +08:00
我猜是服务端,判断是否 from=timeline&isappinstalled=0 ,如果是来自 timeline ,前端就输出 javascript 时,对应的
var isFromTimeline = "true";
然后让前端自己跳。
gogosun
2016-05-29 07:17:28 +08:00
@pimin 代码里面有 UA 判断情况,不过你可以试试把 2 个链接发到微信群或者好友聊天对话框,在相同的 UA 环境下, A 还是显示过劳, B 打开还是视频,并 B 打开后,后面的尾巴已经没有了,链接形式同 A ,但是显示的内容并不是 A 的过劳了。
gogosun
2016-05-29 07:24:28 +08:00
@popok 那他这个判断出来的结果怎么传递给前端 javascript ?
subpo
2016-05-29 13:26:12 +08:00
... 不要艾特我,基本知识都不了解,指望我们给你从基础开始讲吗
gogosun
2016-05-30 18:25:27 +08:00
@subpo laji 2B 一个。去你 md

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/281921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX