URLの%2F。
Apacheをデフォルト設定で使用するとディレクトリセパレータの
/
(スラッシュ)とみなされるものです。
これを文字列として扱うためにはhttpd.confに
AllowEncodedSlashes On
と定義するのですが、それだけでは不十分でした。
SSL(https:~)で%2Fはディレクトリセパレータとみなされるのです。
かなりツボにはまり、最終的に@ITさんの会議室で
という質問を行い、ようやく解決しました。
それとは別に気になったのが
「昔アシアルさんのPHPプロのQAでAllowEncodedSlashes関連のコメントをしたことがあったような気がする」ということです。
間違ったことをコメントしてたら嫌だな、と思い再確認しました。
「ApacheのAllowEncodedSlashesというパラメータに注意してください。」
良かった、あまり立ち入ったことを書いてなくて。
今日はチリの鉱山で全員救出という嬉しいニュースがありましたが
個人的にはSSLでの%2Fが解決したのも同じくらい嬉しかったです。