IISでISAPI_Rewrite

CakePHPIIS上で動かすときに、mod_rewriteの設定のところで暫くハマりました。
今回のホスティング環境は、iSLE infinitoというプランです。
普通にダウンロードしてきたcakephp.htaccessをUPしてindex.phpにアクセスすると
下記のように赤い警告が表示されます。

URL rewriting is not properly configured on your server.
1. Help me configure it
2. I don't / can't use URL rewriting

調べてみるmod_rewriteの代わりにISAPI_Rewriteというものが使えるようです。

さらにISAPI_Rewriteには有償版と無償版があるようで
無償版の方は、サイト別に設定を持てません。
つまりIIS全体で1つの設定ということになります。

この違いを理解していなかったために数時間ロスしてしてしまいました。
ホストを限定してRewriteRuleを適用させるために、RewriteCondを使い


RewriteEngine On
RewriteCond Host: example\.com
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

上図のように指定してやると、警告が消え見事期待した動きになりました。
いやぁ、WindowsServerはあまり詳しくなかったので勉強になりました。

以下後述
このあとできたファイルをのせてもうまく動きませんでした
なのでよくある質問をたよりに
強引に書き換えました。

ルーティングがうまくいってなかったようなので
mod_rewriteを使わない設定にして

core.phpの Configure::write('App.baseUrl', env('SCRIPT_NAME')) をコメントアウト

app/.htaccess 削除
app/weboot/.htaccess 削除

ドキュメントルートの.htaccess

RewriteBase
RewriteRule ^/hogehoge/index\.html$ /index.php/hogehoge/index\.html [L]

というようにして対応しました。
もっとスマートな方法ないかなぁ〜
情報求めます!