asp.net tilde(〜)でISAPIの書き換えパスを維持する
-
27-09-2019 - |
質問
私のチームはASP.NET 3.5からASP.NET 4.0にアップグレードしています。現在、Helicon Isapi Rewriteを使用してマッピングしています http://localhost/<account-name>/default.aspx
に http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>
どこ <account-name>
クエリ文字列変数です <virtual-directory>
仮想ディレクトリ(当然)です。
アップグレードする前に、Tilde(〜)が解決しました http://localhost/<account-name>/...
(これが欲しい)そしてアップグレード後、Tildeは http://localhost/<virtual-directory>/...
これにより、エラーが発生します <account-name>
クエリ文字列が必要です。
私たちのシステムには、相対パスのみではなくURL全体を使用するいくつかの機能があるため、すべてを相対パスに置き換えるという道を下ることを避けたいと思います。
Windows 7、Visual Studio 2010でASP.NET 4.0、64ビットHelicon ISAPI RewriteでIIS7を使用している価値があります。 ASP.NET 3.5バージョンに戻ってきた場合、それは正常に動作します(4.0アプリプール内でない限り、IISで何も変わらないと信じています - 3.5から4.0の間に切り替えると、アプリプールを変更する必要がありますIISで)。
何か案は?前もって感謝します!
解決
IIS 7には、まともなHTTPリダイレクトサポートがあります。そのため、もうそのISAPIフィルターを使用する必要はないかもしれません
http://technet.microsoft.com/en-us/library/cc732969(ws.10).aspx
ISAPIを使用する別の方法は、HTTPモジュールリダイレクトを使用することです。
http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx