外部URLをリクエストしたユーザーを別のページにリダイレクトするにはどうすればよいですか?外部URLを出口ページにリダイレクト
mod_rewriteのようなモジュールをインストールするのに苦労するかもしれないことは知っています。しかし、私はglobal.asaxまたはマスターページでPage_OnRequest型の関数を何らかの形で行うことはできませんか?あなたはこれらのURLが実際に最終的な宛先にそれらを転送する前に、自分のサイトにリダイレクトページを指す可能性があり
外部URLをリクエストしたユーザーを別のページにリダイレクトするにはどうすればよいですか?外部URLを出口ページにリダイレクト
mod_rewriteのようなモジュールをインストールするのに苦労するかもしれないことは知っています。しかし、私はglobal.asaxまたはマスターページでPage_OnRequest型の関数を何らかの形で行うことはできませんか?あなたはこれらのURLが実際に最終的な宛先にそれらを転送する前に、自分のサイトにリダイレクトページを指す可能性があり
最も簡単な方法は、ページ上のすべてのタグにクリックイベントをフックするための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>
を次に、あなたがリダイレクトを望んでいたものは何でも行うことができ、それは可能性がありリダイレクトが、URLを隠し、それをエンコード、パラメータを追加したように働いていたなど
これはかなり一般的な方法です。 – DashTechnical
@DashTechnical - これはちょっとした "大きな兄弟"のように見えるので、私が関与している人ではありませんが、いくつかのサイトで私が見たことがあります。 –
すべてのリンクが既に書かれている状況はどうですか?見つけて+置き換えるだけですか? – Dexter
私はdojoを除いてこのことを考えていましたが、JavaScriptを無効にしたり、 – Dexter
EndRequest()をオーバーライドするHttpModuleを記述するか、global.asaxのApplication_EndRequest()で実行します。実装をHtml上で繰り返し実行し、外部リンクに必要なリンクフィックスアップ。http://www.15seconds.com/issue/020417.htmを参照してください。 –