3

Asp.Net アプリケーションで URL 書き換えを行う方法を変更すると、IIS ログ ファイルが次のように変更されてしまうという問題があります。

/page/ 80 など /page/anotherpage/ 80 など...

default.aspx ページ=1 80 など... default.aspx ページ=2 80 など...

これがどのように起こったのか、私は少し困惑しています。不足している設定はありますか (Win 2008、ASP.NET 2.0) の「runAllManagedRequests」設定も有効になっています。

4

4 に答える 4

2

URL 書き換えはモジュールによって行われていますか? そうである場合、ロギング モジュールの前に書き換えモジュールが実行されている可能性があります。モジュールが IIS マネージャーで実行される順序を変更できます。IIS マネージャーのモジュールに移動し、 [順序付きリストの表示...]を選択します。次に、モジュールを上下に移動して、必要な順序にすることができます。

于 2009-01-07T17:36:17.890 に答える
0

URLの書き換えに使用している方法はわかりませんが、Apache(およびWindowsのISAPI_Rewrite)では、.htaccessファイル(または同等のもの)の各ルールにフラグを追加して、ログに記録するように指示する必要があることはわかっています。元のURLではなく書き換えられたURL。

于 2008-12-05T12:42:54.613 に答える
0

この質問は重複しています。

私はまったく同じ問題を抱えていました。これを回避する 1 つの方法は、Context.RewritePath の代わりに Server.Transfer を使用することです。Server.Transfer はページのライフサイクル全体を再開しないため、元の URL は引き続きログに記録されます。2 ページ目で QueryString コレクションと Form コレクションを使用できるように、必ず「preserveForm」パラメーターに「true」を渡してください。

于 2009-02-17T18:36:25.403 に答える
0

私の知る限り、書き換えられたURLは.Netアプリケーションと変換を行うアプリケーションに送信されるため、IISは元のURLではなく書き換えられたURLのみを受信するため、これは設計によるものです。

于 2008-12-05T15:40:46.080 に答える