2016-04-03 11 views
0

渡されたパラメータでUrlRewriteモジュールがインストールされている場合に例外をスローし、〜(チルダ)を使用して:Url.Contentは問題がある

  1. 私はのための私のIIS上で「」ウェブサイト
  2. UrlRewrite modoleをインストールしています

    "B"ウェブサイト(MVC 5.0)では、 'UrlRewrite'モジュールを使用しませんが、UrlHelper.Content("~/blobl/foo/bar")を呼び出すと例外が発生します。 例外は、UrlRewriterモジュールを使用し、同時に~文字を関数パラメータに使用しているためです。 例外は次のとおりです。

    System.ArgumentException:値が予想される範囲内にない。 で(HttpContextBaseのHttpContext)System.Web.WebPages.UrlRewriterHelper.WasThisRequestRewrittenで System.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternalでSystem.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(のInt32のerrorCode、のIntPtrのerrorInfo) (文字列名)でSystem.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBaseのHttpContext、文字列はcontentPath)System.Web.WebPages.UrlUtil.GenerateClientUrlでSystem.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBaseのHttpContext、文字列はcontentPath) (HttpContextBaseのHttpContext、文字列で contentPath)

l UrlRewriteモジュールはすべて正常ですが、"A"ウェブサイトに問題が発生しました。また、このモジュールをウェブサイトでのみ無効にする方法はありませんでした。

注:IIS URL Rewrite module: Url.Content() does not resolve CSS/Image path properlyをチェックしましたが、ソースコードを変更したくありません。

答えて

0

私は他のサイトに影響を与えることなく、ウェブサイトのUrlRewriteモジュールを有効にするには、no定期的な方法はありません見つける長い検索の後。
最も簡単な方法は次のとおりです。詳細については、

<configuration> 
<system.webServer> 
    <modules> 
     <remove name="RewriteModule" /> 
    </modules> 
</system.webServer> 
</configuration> 

これをチェック:web.configファイルに次の行によって影響を受けたウェブサイトからこのモジュールを取り外す https://www.iis.net/configreference/system.webserver/modules

0

URLリライトのリストを無視するには、BウェブサイトのURLを追加することをおすすめします。

はあなたのweb.configファイルに以下を追加します。

<rule name="Ignore URLs" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions logicalGrouping="MatchAll"> 
     <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     <add input="{REQUEST_URI}" negate="true" pattern="^/blobl/foo/bar\.aspx$" ignoreCase="true" /> 
     <add input="{REQUEST_URI}" negate="true" pattern="^/blobl/foo/bar/gar\.aspx$" ignoreCase="true" /> 
    </conditions> 
</rule> 
+0

おかげで私は、すべてのBウェブを知りませんサイトのURL。一部のURLは動的に生成されます。また、このモジュールを使用しないサイトに対してUrlRewriteルールを追加します。私はそれが良い考えではないと思う –