現在、IIS 6および7を使用しているシステムがあり、ASP.NETで記述されています。C#は.NET4で記述されています。
私の目的は、URLを完全に非表示にすることです(クライアントの要求に従って)。つまり 、 https ://myapp.it.mydomain.com/Secure/folder1/folder2/folder3/someView.aspxはhttps://myapp.it.mydomain.com/であるか、少なくとも不確定な変更されていないページである必要があります: https :/ /myapp.it.mydomain.com/constantView.aspx
現在、Response.Redirect
すべてのナビゲーション項目と一部の直接リンクに使用しています。クエリ文字列の使用法もいくつかありますが、ページ間のポストバックに依存しています。URLマスキングの手段はありません。そのためのメカニズムを提供することを目指しています。
私はすでにURLマスキングを実行するためのいくつかの方法を知っていますが、最も簡単に実装できるソリューションについてSOの意見を求めています。
最も簡単なのは、実装する時間を指します。つまり、Server.Transferを排他的に使用するように呼び出しを変更することはできません。
ASP.NET Routing
公正な解決策のように見えますが、私が理解しているように、必要な場所にマップするには、すべてのクエリ文字列で作業する必要があります。これにより、1対1のマッピングではなく、すべてのページを非表示にできるかどうかはわかりません。
フレームセット/iFrameを使用することも、既存のソリューションで多くの問題を引き起こすため、オプションではありません。
私が理解しているように、それURL Rewrite Module
が私の最善の解決策かもしれません。
この質問が、おそらく解決策の良いリストにつながることを願っています。おそらく、私がまだ気付いていない方法です。
編集
現在の状況に関するより明確な質問:
IIS 6を使用しています(したがって、IIS 7リライトモジュールは問題外です)。Page.Referrer(ASP.NET内)とクエリ文字列を使用する既存のコードを壊さないURLクローキング/マスキングを提供する方法はありますか?
アイデアは、アドレスバーが常に同じように見えるようにすることです。JavaScriptのハックでも許容されます。