将请求外部URL的用户重定向到一个再见页面的最佳方式是什么?将外部URL重定向到退出页面
我知道我可以努力安装某种类似mod_rewrite的模块。但是我不能在global.asax或master页面中做某种Page_OnRequest类型的函数吗?
将请求外部URL的用户重定向到一个再见页面的最佳方式是什么?将外部URL重定向到退出页面
我知道我可以努力安装某种类似mod_rewrite的模块。但是我不能在global.asax或master页面中做某种Page_OnRequest类型的函数吗?
最简单方法是使用jQuery挂钩页面上的所有标签中单击事件:
$(function(){
$('a').click(function(e){
var proceed = true ;
var anchor = $(this) ;
var href = anchor.attr('href') ;
var isExternalUrl = CheckForExternalUrl(href) ;
if (isExternalUrl)
{
e.PreventDefault() ;
window.location = "outside_link.aspx?url=" + href ;
proceed = false ;
}
return proceed ;
}) ;
}) ;
任何被点击的链接都会触发事件处理程序。外部URL会导致页面outside_link.aspx在查询字符串中加载目标网址。内部URL将正常运行。
简单。
你可以有这些URL实际上指向在自己的网站重定向页面上转发他们的最终目的地之前:
<a href="redirect.aspx?url=stackoverflow.com">Stack Overflow</a>
那么你可以做任何你重定向想要的,也可能是努力使重定向隐藏网址,编码它,添加参数等
看来这是一个很常见的做法。 – DashTechnical 2011-01-26 15:18:22
@DashTechnical - 这不是我参与的,因为它看起来有点太“大哥”,但它是我见过的在几个网站上雇佣的人。 – 2011-01-26 15:21:08