web-dev-qa-db-ja.com

IIS7URL書き換えモジュールのどのバージョンがインストールされているかを知るにはどうすればよいですか

IIS7で、conditions要素でtrackAllCaptures = "false"属性を使用し、outboundRulesを使用する書き換えルールを作成しました。テストシステムではすべて正常に機能しますが、これらのルールをGoDaddyにデプロイすると、次のエラーが発生します。

Unrecognized attribute 'trackAllCaptures' 

また、outboundRulesノードを含めると、サーバーから500エラーが発生します。私は彼らのサポートと話しました、そして彼らは彼らがURLRewriteモジュールの2.0バージョンをサポートしていると主張します。私の質問は、このモジュールのバージョンを確認する方法を確認または伝達する方法です。バージョンを確認する方法については、インストールを試みる以外に方法が見つかりません。

WordPressではなくASP.NetアプリケーションのURLを書き換えようとしています。URLからサブフォルダーを削除するために、これはマルチドメインホスティングで非常に一般的な問題です。サンプル私が使用しているのはここにあります: http://weblogs.asp.net/owscott/archive/2010/05/26/url-rewrite-multiple-domains-under-one-site-part-ii.aspx

23
blkbam

UrlRewriteのバイナリは次の場所にあります。

%SystemRoot%\ system32\inetsrv\rewrite.dll 

Url Rewrite1.1のファイルバージョンは7.1.490.43です。
Url Rewrite2.0のファイルバージョンは7.1.761.0または7.1.871.0です(他にもあるかもしれませんが、これらは私が知っている2つの異なるバージョンです)。

バージョン番号を確認するためのコンソールアクセスがない場合は、簡単なWebページで次のコードを実行してみてください。

Assembly a = Assembly.Load("Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
Response.Write(a.FullName);

UrlRewrite 2.0がインストールされている場合は、次のように表示されます。

 Microsoft.Web.Iis.Rewrite、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35 

そうでない場合は、例外がスローされます。

ファイルまたはアセンブリ 'Microsoft.Web.Iis.Rewrite、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

このドキュメントページでそれらを指すこともできます:

条件を超えたキャプチャグループの追跡

この段落は、trackAllCapturesが2.0固有の設定であり、それが機能していない場合、2.0は確実にインストールされていないことを明確に示しています。

URL Rewrite Module 2.0では、キャプチャグループのインデックス作成方法を変更できます。 <conditions>コレクションでtrackAllCaptures設定を有効にすると、一致したすべての条件からキャプチャグループが形成され、後方参照を通じて使用できるようになります。

33
Kev