| |||||||||||||||||||||||||||||||||||||||||
サイト内検索
カスタム検索
|
IIS 7.0 URL リライトモジュール (Rewrite Module)IIS 7.0 からは URL のリライトモジュールが提供されています。Apache では mod_rewrite として、大変有名なモジュールですが、 このリライトモジュールによって、IIS でも同様の機能を実装することが出来ます。 入手方法IIS 7.0 URL リライトモジュールは、マイクロソフトダウンロードセンターから無償でダウンロード可能です。 インストール上記で入手したパッケージを実行するだけで簡単にインストール可能です。 インストールウィザードのスクリーンショットを示します。
インストールが完了すると、IIS マネージャに URL Rewrite が追加されます。
URL リライトモジュールの利用方法利用シナリオ その1 ~ ユーザーフレンドリな URL からの書き換えCGI やサーバースクリプトに対して、GET リクエストを送信する場合、クエリストリングにパラメータを設定します。 パラメータを受け取った CGI やサーバースクリプトはその値に応じて、様々な処理を行います。 このときに、URL はクエリストリングを含めて http://hostname.com/foo.ext?bar=xxx&baz=yyy のような形となります。 このとき、http://hostname.com/xxx/yyy という URL で同じ意味に解釈させることができます。
ここでは例として、 ユーザー フレンドリー URL ルールの追加Add Rule をクリックします。
User Friendly URL を選択して OK をクリックします。
画面のように入力します。 (ホスト名が localhost:8080 となっているのは、私が現在ローカルホストのポート 8080 番で IIS をホストしているからです。 そこは適当に直してください。ホスト名やスクリプト名は適当に直してください。)
ここでもしリダイレクトのルールも作成する場合は、下側のチェックボックスをチェックします。
こうすると、/rewrite_test.php?y=2008&m=12&d=25 としてアクセスしてきたリクエストを、いったん /2008/12/25/ にリダイレクトし直します。 PHP テストコードテスト用のコードを用意しました。以下のファイルを rewrite_test.php という名前で保存します。 <table border="1" cellpadding="5"> <tr> <td>元の URL:</td> <td><?php echo $_SERVER['HTTP_X_ORIGINAL_URL']; ?></td> </tr> <tr> <td>書き換え後のURL:</td> <td><?php echo $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; ?></td> </tr> </table> このコードは PHP ですが、ASP や ASP.NET などでも同様のことができます。 ブラウザを開き、http://localhost:8080/2008/12/25/ を要求します。
上記のように、内部的に /rewrite_test.php?y=2008&m=12&d=25 として解釈されていることがわかります。
| ||||||||||||||||||||||||||||||||||||||||
© 2008-2010 小山圭介 All Rights Reserved. |
|||||||||||||||||||||||||||||||||||||||||