我有一个简单的Django网站,有2页。这有点像那些愚蠢的嗡嗡声测验。有一个问题页面(www.mypage.com
)和一个结果页面(www.mysite.com/results/myResults
)。我正在尝试使用facebook分享按钮来推动社交分享。我希望人们分享结果页面(例如“我得到了这个结果,你怎么样?”),但我需要点击这些共享链接的传入用户重定向到主要问题页面。
我尝试添加网址参数www.mysite.com/results/myResults?fromShare = T
并使用视图将这些参数重定向到主页面。但是,facebook抓取工具也会被重定向,因此共享内容最终成为主页面,而不是个性化结果页面。
tl; dr :如何重定向传入的人类用户,而不是重定向facebook抓取工具?理想情况下,我想在django视图中这样做,而不是.htaccess。
答案 0 :(得分:2)
Facebook用户代理将是其中之一:
facebookexternalhit / 1.1(+ http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit / 1.0(+ http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit / 1.1(+ https://www.facebook.com/externalhit_uatext.php)
facebookexternalhit / 1.0(+ https://www.facebook.com/externalhit_uatext.php)
在request.META['HTTP_USER_AGENT']
中查找并重定向。
答案 1 :(得分:1)
在您看来,请查看request.META['HTTP_USER_AGENT']
,将其与Facebook抓取工具进行比较,如果不匹配则重定向。如果匹配,请提供您的页面模板。