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
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
設定を有効にすると、一致したすべての条件からキャプチャグループが形成され、後方参照を通じて使用できるようになります。