3

フレームワークのバージョン 2.0 と IIS6 で asp.net 用の Intelligencia URLRewriting モジュールを使用しています。通常、URL には拡張子がありません。

IIS6 はブランケット ワイルドカードなしではこの状況に実際に対処できないことを理解しています (これは他の問題を引き起こします)。

しかし、それはうまくいきます!時々。それ以外の場合(たとえば、ある開発者のマシンと、アプリで別の仮想ディレクトリを指すときの私のマシン)はそうではありません。「機能しない」とは、構成された HttpModules がヒットすることさえないことを意味します。

誰でもこれを説明できますか?

ありがとう。

4

4 に答える 4

4

したがって、何が起こっていたかは次のとおりです。

これは誰かにとって便利なクラッジになると思いますが、isapi フィルターに移行しています。注意点の 1 つは、これが既定でリダイレクトのタイトなループにつながることです。

于 2009-02-12T15:54:46.967 に答える
2

Visual Studio 開発 Web サーバーを使用してサイトを実行すると、すべての要求が asp.net によって処理されるため、HttpModule が実行されます。

IIS6 では、要求を asp.net に転送するように設定されていない限り、これは発生しません。

于 2009-02-12T09:33:33.827 に答える
1

「動作する」場合、VS.NET に含まれる Cassini 開発 Web サーバーで実行していないことを確認できますか? 拡張子のないワイルドカードは Cassini の下で機能するため、控えめに言っても非常に混乱する可能性があります。

于 2009-02-12T10:00:29.720 に答える
-2

ASP.net 4.0 で IIS6 を使用している場合は、次のようにモジュールを指定して登録する必要があります。

<system.web>
<httpModules>
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>

いいえ

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</modules>

于 2011-12-11T07:06:03.157 に答える