I IIS 7で、次のルールがありますようだは7書き換えルールをIISとUrl.Contentが発行
<rule name="Category" enabled="true">
<match url="^store/([0-9]+)/(.*)" />
<action type="Rewrite" url="store?cid={R:1}" appendQueryString="false" logRewrittenUrl="true" />
</rule>
は私のASP.Net MVC 3アプリでただし、正常に動作するために、私はいくつか持っているの@ Url.Content /とは対照的に/ store /に解決されている( "〜/")エントリ。典型的なURLは例えばhttp://mysite.com/store/99/coats-with-hoodsである。
EDIT/UPDATE:私はまだこの記事を読んでいないので、私はUrl.Contentコードベースを調べることにしました。URLが書き直されているかどうかを確認しました。これは次のようになり、なぜ
if (!PathHelpers._urlRewriterHelper.WasRequestRewritten(httpContext))
return contentPath;
string relativePath = PathHelpers.MakeRelative(httpContext.Request.Path, contentPath);
return PathHelpers.MakeAbsolute(httpContext.Request.RawUrl, relativePath);
誰もが知っている:それは、パスが関連になりそうだとすれば今度ははは私に絶対URLを与えるものではありませんか?私はなぜこれが起こっているのか、私のアプリケーションでそれをどう説明することができるのか、ちょっと混乱していますか?
フォルダ構造に関してプロジェクトとIISがどのように設定されているかについての詳細情報を提供できますか? –
これはWebサイトのルートで実行されていますが、仮想ディレクトリでは実行されていません。何を知る必要がありますか? – Mantorok