説明を見つけることができるインターネット全体の唯一の場所は [〜#〜] msdn [〜#〜] です:
アプリケーションのルートURLの代替パスを指定します。このオプションは、Webアプリケーションのルートがプロジェクトのルートではない場合に使用します。
From here 「アプリケーションルート」はASP.NETでチルダを使用するときに取得するパスであることを理解しました。したがって、プロジェクトのプロパティ-Web-[アプリケーションルートの上書き]に移動して別のURLを指定すると、ティルデがそのURLにマップされると期待します。
しかし、そうではありません。たとえば、私のウェブは仮想ディレクトリ-http://localhost/WebApplication1
にあり、「アプリケーションルートの上書き」ではhttp://localhost/WebApplication2
またはhttp://localhost
またはhttp://WebApplication2
(すべてローカルに存在する)を指定しようとしていますIIS)。今私が書くとき
Response.Redirect("~/test2/login");
http://localhost/WebApplication2/test2/login
にリダイレクトされると思います。代わりに、「アプリケーションルート」をオーバーライドしなかったかのように、http://localhost/WebApplication1/test2/login
にリダイレクトされます。
それで、この機能は実際に何を行うと思いますか?または、何かが足りず、適切に定義しなかったために機能していないのでしょうか?
アプリケーションルートURLを上書きしても、アプリケーションルートがアプリケーション内のどこにあるかは変わりません。アプリケーションのルートに到達するために使用されるURLを変更します。 IISはホスト名の検証を行うため、localhost:[PORT]
以外の手段でアプリケーションにアクセスするかどうかを指定するために使用されます。
たとえば、それをwww.myapp.com
にオーバーライドすると、これをホストファイルに追加することでアプリケーションに到達できます。
127.0.0.1 www.myapp.com
これは、リモートデバイス(コンピューターの仮想マシン、またはネットワーク上のモバイルデバイス)がアプリケーションとしてlocalhost
に移動できないため、アプリケーションを利用できるようにする場合に特に役立ちます。住所。