私のホスティング プランでは、使用できる Web アプリケーションの数は限られていますが、サブドメインは無制限です。次のように、IIS の書き換えを使用して、これらのサブドメインを利用する予定です。
<rule name="Home Rewrite" enabled="true">
<match url="^(.*)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="^home\.mydomain\.com$" />
</conditions>
<action type="Rewrite" url="home/{R:1}" />
</rule>
これはほとんどの場合うまく機能します。私は行くことができ、http://home.mydomain.com
本質的http://www.mydomain.com/home
に期待どおりのものに連れて行ってくれます。
Web Deploy を使用して公開していますが、ホストは IIS7 だと思います。
問題は、を利用したいということですが@Html.ActionLink
、ソースを表示すると、仮想ディレクトリが含まれるように解決されます。
最終的には、元のアドレスに移動したときに機能するサイトになります。
http://www.mydomain.com/home/application
また、リダイレクトされたアドレスで読み込まれるが正しく機能しないサイト:
http://home.mydomain.com/application
ページ ソース内の生成された URL が元のアドレスを基準としている場合:
/home/application/Account/Login
これは、他のページ/ルート、バンドルへのリンクに適用され、基本的に~/
または@Html.ActionLink
が使用されている場所であればどこでも適用されます。
どうすればこれを回避できますか? @Html.ActionLink
少なくとも を使い続けたいと思っています。チルダがなくても生きていけると思います。