Url Rewriting with ASP.NET

Tip/Trick: Url Rewriting with ASP.NET (Scott Gu’s Blog) では、以下の方法が示されている。(それぞれ別のアプローチ)

  1. *.aspx に食わせて、Request.PathInfo を解析する
  2. Web.config で HttpModule を設定する。ただし *.aspx の拡張子のみ
  3. Web.config で HttpModule を設定し、*.aspx 以外の拡張子で有効にする (IIS7 限定)
  4. ISAPI のレベルでRewrite を実行する

2. で拡張子が限定されているのは、IIS6以前の場合 ISAPI 経由でASP.NET を実行するので、まず拡張子と起動されるISAPIモジュールの対応をIISにおいて設定しなければならないという挙動のため。なのでaspx以外の拡張子であっても、IIS側でASP.NETのISAPIを起動するようにしてしまえば実行することは可能。

また、Rewriteを実行する HttpModule であるが、ASP.NET MVC の流れで .NET Framework 内での開発が進み、.NET Framework 3.5 Service Pack 1 Beta において 「ASP.NET ルーティング エンジン (System.Web.Routing)」として提供されるようになった。ASP.NET MVCとは独立して利用することができる。

IIS7 については Creating rewrite rules for the URL Rewrite Module も参照。専用のインターフェースが用意されており、とても使いやすくなっている。

個人的には .NET Framework 3.5 Service Pack 1 Beta  のルーティングエンジンにこれから挑戦してみたいと思っているところ。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。