將請求外部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