2

Windows 2008 R2 サーバーでテストを行いたいと考えています。つまり、URL を にリダイレクトさせますlocalhost

たとえば、"http://mysample.mydomain.com/index.html"実際に「http://localhost/index.html」にアクセスしてみましょう。これを行う方法はありますか?

windows\system32\drivers\etc\hostsマッピングを追加してファイルを編集しようとしました127.0.0.1 -> mysample.mydomain.comが、うまくいきません。それは同一のよう127.0.0.1でありlocalhost、同一ではありません。「http://localhost/index.html」にはアクセスできるのに「http://127.0.0.1/index.html」にはアクセスできない!

前もって感謝します!

4

2 に答える 2

0

Windows 2008 R2 サーバーを使用しているため、テストには IIS を使用していると思います。また、Windows Server 2008 は、デフォルトで IPv6 を「有効」にする Windows の最初のバージョンであることに注意してください。ただし、IPv4 バージョンも有効になっていますか?

Enable IPv4: [Control panel > Network and sharing center > Change adapter settings > Right click the adapter used for connectivity and select properties > See if IPv4 is checked. ]

あなたのローカルホストは、::1 (IPv6) ループバック アドレスを使用するように内部的に解決されていると思います。これは、以下を確認することで確認できます。

IPv6 テストの場合: ping localhost -6IPv4 テストの場合: ping localhost -4. ::1 に解決される場合は、IPv6 アドレスを使用しています。

\etc\hosts ファイルには次のエントリが含まれている必要があります。

::1 locahost mysample.mydomain.com

として ping テストを実行しますping mysample.mydomain.com -6。これにより、mysample.mydomain.com が IPv6 を使用してローカル ループバック アドレスに解決されたことを確認できます。

参照:

  1. 127-0-0-1 と localhost の違い
  2. ローカルホスト
于 2012-10-16T17:34:22.783 に答える
0

System.Web.UI.Page から継承するクラスを作成し、ロード時にオーバーライドします。

public abstract class CorePage : Page
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        //TODO: check request url and make a redirect if required!

    }
}

すべてのページを CorePage から継承するように変更すれば、作業は完了です! もちろん、これは IIS 全体ではなく、アプリケーション レベルの aspx ページに対してのみ機能します。

于 2012-09-03T07:52:57.920 に答える