2

私は非常に複雑な Web サイト プロジェクトを継承しており、VS 2012 で「サーバー」のデフォルトの「デフォルトの Web サーバーを使用する」設定で実行すると、ベース URL の下でログイン ページが正しく提供http://localhost:45632され、うまくログインできます。 . 次に、URL のメニュー項目をクリックするとhttp://localhost:45632/Apps/Visitors/General.aspx、わかりやすい 404 が表示されます。

次に、IIS 7.5 で Web サイト (既定のサイトの下のアプリケーションではない) を作成するとします。物理ディレクトリをプロジェクトのソース フォルダーに設定します。それにホスト名を付け、xtjethro.localホスト ファイルを編集して、そのホスト名が 127.0.0.1 を指すようにします。のベース URL を持つカスタム サーバーを使用するように Web サイト プロジェクトを設定し、最後にコンテキスト メニューからサイトを参照すると、http://xtjethro.local/ではなくベース URL でページが提供されhttp://localhost:45632、すべて正常に動作します。

次に、ベース URL のカスタム サーバーを使用するように Web サイト プロジェクトを設定し、http://xtjethro.localVS2012 を再起動して管理者として実行すると、そこからすべてが機能します。

http://localhost:45632/Apps/Visitors/General.aspxVS2012 では機能しないのに、 IIS では機能する理由を知りたいhttp://xtjethro.local/Apps/Visitors/General.aspxです。

4

1 に答える 1

1

Visual Studio 開発 Web サーバーは通常、プロジェクト名と一致する仮想ディレクトリの下でサイトを実行します。つまり、ページの URL はhttp://localhost:45632/YourProjectName/Apps/Visitors/General.aspx. IIS の既定のサイトでアプリケーションを作成すると、おそらく同じ問題が発生します。

リンクの生成方法を変更する必要があります。を使用する代わりに、ASP.NET を/Apps/...使用すると、サイトのベース パス~/Apps/...が自動的に解決されます。~/

于 2013-07-04T16:15:38.850 に答える