将请求外部网址的用户重定向到某种告别页面的最佳方法是什么?
我知道我可以努力安装某种类似mod_rewrite的模块。但是我不能在global.asax或母版页中做某种Page_OnRequest类型的函数吗?
答案 0 :(得分:5)
您可以将这些网址实际指向您自己网站上的重定向网页,然后再将其转发到最终目的地:
<a href="redirect.aspx?url=stackoverflow.com">Stack Overflow</a>
然后你可以通过重定向做任何你想做的事情,它可以工作,以便重定向隐藏网址,编码,添加参数等。
答案 1 :(得分:3)
最简单的方法是使用jQuery挂钩页面上所有标签上的click事件:
$(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。内部网址将正常运作。
简单。