MagSite2のソースツリーの準備も済んで、懸案に着手。
まるは軽い問題として、"_"を含むファイル名の画像ファイルを扱えなかった問題の調査を始めました。ただ単にエスケープもミスだと軽く考えていました。
……実際はそんなに甘いものではありませんでした。
IIS7がダブルエスケープを禁止したのが扱えない理由でした。
MagSite1/2では、ファイル名を二重にエスケープします。その理由はファイルシステムが扱えない文字のエスケープを行うレイヤーと、URIで扱えない文字をエスケープするレイヤーがあるからです。"_"は実はちょっとしたトリックで使用できない文字扱いされていた文字です。
というわけで、IISの要求フィルタの設定を変えてダブルエスケープを許したら表示可能になりました。
やれやれ……。
こういう形で問題が出るとは思わなかった。
しかし、既存データの互換の問題から、ダブルエスケープは必須。辞めるわけにも行きません。かなりトホホな世界。