Rewriteでカスタムモジュールを作るツイートシェアGoogle+はてブPocket案外資料が少ないのか、英語ページは出てくるのですが日本語ページは出てこない。英語ページでもところどころ抜けている部分があるといいますか...私がかなり躓いてしまったポイントなので息抜きのついでに記事にまとめておこうと思います。肝心なところのカスタムモジュールの作成ですね。開発言語はC#でもVBでも大丈夫みたいです。3.5)で作りました。インストールされていないと動作しないかもしれませんが。Moduleの中に同梱されているdllファイルうぃ引っ張ってきます。Assemblies\Microsoft\IIS」を開いてください。その中にあるMicrosoft.Web.Iis.Rewrite.dllを引っ張ってきます。先ほど引っ張ってきたdllファイルを参照設定に指定してあげてください。適当にクラスを作り、”Microsoft.Web.Iis.Rewrite.IRewriteProvider”を実装します。今回は設定項目は作らず、ただリライトさせるだけのクラスを作りたいと思います。こんな感じでインターフェースを実装します。{}}リライト条件を書くここは各自でお任せします。valueが要求されたURL、そして戻り値に書き換え条件を指定してあげるだけでいいです。"hoge.html";とすればいいだけです。ビルドはい、ここが私の一番つまずいたポイントです。Frameworkのバージョンについてですが、4.0できちんと動作しているのか怪しいです。4.0でもできた方がいるなら報告お願いします。CPUじゃないとエラーが起きるみたいです。規定値なので変更しなければいいだけですあとは署名設定。パスワードは必要ないので適当に設定してあげましょう。Moduleに認識してくれないです。サーバーへインストール!GACへインストール次はGACへのインストールです。面倒なのでGACインストールを自動化するアプリ作りました。こちらに公開しているのでどうぞ。GACへインストールを作ってみた。https://yryr.me/programming/update/gac-insutall-no-gacutil.htmlこちらのアプリを使用する場合。インストールするdllをインストールするだけで可能です。再インストールの場合は一度、アンインストール→インストールの手順でお願いします。カスタムプロバイダの指定まず「URLの書き換え」の画面へ行ってください。右側のメニューにプロバイダの表示というものがあるのでそれをクリック。それから再び右側のメニューの「プロバイダの追加」を選択。先ほどGACにインストールしたdllファイルが表示されると思うので選択。名前はなんでもいいですが英語オンリーでお願いします。前の画面に戻り、いつものように「規則の追加」を選択します。名前はご自由にどうぞ。パターンにはとりあえずテストとして「(.+)」と指定しましょう。大事なのが一番したのアクションのところ。アクションの種類は「書き換え」に、URLの書き換えのところには、プロバイダの指定して設定した名前にしましょう前画面でSecureになっているのにこの画面ではCustomになっているのはミスです。同じものにしてあげてください。そもそもの使い道このようなカスタムモジュールを作ってまで書き換えしないと行けない状況ってなんなんでしょうね。大体のものならrewrite.aspxとか作ってあげてそこで書き換え条件を指定してあげればいいだけなんでしょうけど...と思ってたのですが私にもこのようなものを作る必要が出てくる場面ができてしまいまして;;データベースを扱って条件分岐をさせる。その時にPOSTにまで対応させようとなると、rewrite.aspxみたいな書き換えは通用しないんですね。ViewStateのせいで。背景に複雑な理由があるときにのみ使いたいと思います。サーバーにも負担が掛かりそうなので。再インストールについてここが私が一番躓いたところなのですが、カスタムモジュールを編集した後、再び再インストールしてあげるときに、何故かファイルが置き換わらない...?ということがGACとサーバー側のキャッシュに問題があるようで、GACは必ずアンインストールしてからインストールすること。変更してあげたあとはアプリケーションプールの再起動が必要となります。これにわからず何度やっても状況が変わらないってことが...サーバーはあらゆるものをキャッシュするのでその辺り気にしてあげる必要があるみたいです。data-url="">近くの人に写真を送るアプリ"Raindrop"を公開しました。GACへインストールを作ってみた。RECOMMENDこちらの記事も人気です。