1

asp.net mvc 4 アプリケーションがあり、web.config にこのルールがあります

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Remove Virtual Directory">
      <match url=".*" />
      <action type="Rewrite" url="{R:0}" />
    </rule>
  </rules>
</rewrite>

なぜ、どのようにこれが機能するのか理解できません。これを使用するのは、godaddy がアプリケーションが入っているフォルダーの名前で URL に仮想パスを追加するためです。つまり、次のようにexample.com/foldername/indexなります。example.com/index

では、どのようにして ".*" で仮想パスを見つけて削除するのでしょうか。で、{R:0}って何?ありがとうございました。

4

1 に答える 1

0

この正規表現はすべての URL に一致し、仮想パスを含む URL をリダイレクトすることはできません。mvc のルーティングによりリソースが検出されるためです。

{R:0}に関しては。リクエスト URL は最初の引数であるため 0 であり、正規表現は使用されない 2 番目の引数です。これは {R:1} です。

于 2013-11-08T20:36:58.337 に答える