私のサイトは、複数の仮想ディレクトリを持つサーバーでホストされており、それぞれの仮想ディレクトリを指す異なるドメイン名を持っています。私のサイトは Visual Studio のデバッグ モードで正常に動作し、何も異常は発生しません。
URL はhttp://www.greatsite.comのようなものですが、RedirectToAction リンクは次のようになります。
return RedirectToAction("Profile", "Account");
ここに行きたい...
http://www.greatsite.com/Account/Profile
...代わりにここに行きます:
http://www.greatsite.com/greatsite/Account/Profile
...「greatsite」は仮想ディレクトリの名前です。
サイトは FTP を使用して公開されており、FTP アドレスは「greatsite」フォルダーを直接指しています。そのため、FTP に関する限り、サイトはルートに公開されます。
ページはどちらの方法でも表示されます。URL は仮想ディレクトリを指していますが、なぜ両方が機能するのか混乱しています。
編集
私は最終的にここで答えを見つけました: https://stackoverflow.com/questions/364637/asp-net-mvc-on-godaddy-not-working-not-primary-domain-deployment
したがって、これを重複した質問として閉じたいと思うかもしれません。申し訳ありません。誰かがこの解決策をより詳細に説明できない限り。
<rewrite>
<rules>
<rule name="Remove Virtual Directory">
<match url=".*" />
<action type="Rewrite" url="{R:0}" />
</rule>
</rules>
</rewrite>