asp.net Web サイトの URL からサブディレクトリとページ情報を非表示にしたいと考えています。たとえば、http://msdn.microsoft.com/en-us/library/aa479015.aspx を表示する代わりに、常にユーザーのブラウザー アドレス バーにhttp://msdn.microsoft.com/のようなものを表示したいと考えています。
3 に答える
これには、History API をサポートする最新のブラウザーが必要です
history.pushState({}, false, "/");
ドキュメントの読み込み時にそれを呼び出すと、目的の効果が得られるはずです
詳しくは:
これは良いスタイルだとは思いませんが、ページをフレーム (または iframe) に挿入できます。
ドメインの開始ページ、fe http://msdn.microsoft.com/ :
<frameset rows="100%">
<frame src="/realstartpage.htm">
</frameset>
ユーザーが別のページに移動しても、フレームのコンテンツのみが更新されるため、アドレス バーは変更されません。Web サイト外のページへのリンクは、最も外側のフレームをターゲットにする必要があることに注意してください。
<a href="http://stackoverflow.com" target="_top">Stackoverflow</a>
ただし、ユーザーがhttp://msdn.microsoft.com/en-us/library/aa479015.aspxへの直接リンクを介してアクセスした場合、 http ://msdn.microsoft.com/に転送する必要があります。スクリプトを作成し、サーバーで URL パラメーターを処理してフレームセット (または iframe) fe を作成します。
1 つの方法は、現在のハンドラー情報を Cookie に保存し、次にグローバル asax BeginRequest に保存し、HttpContext.Current.RemapHandler
その Cookie に基づいて別のハンドラーに要求を再マップするために使用することです。もう 1 つの方法は、ページで iframe を使用することです。これが最も簡単です。