次の単純なコードを想定します。
$app->get( '(/store(/:url)+)', function( $url = NULL ) use ( $app )
{
// Execute actions on $url
});
上記は、次の場合に正常に機能します。
http://localhost/api/0001/store/url-data
ただし、次の場合は失敗します。
http://localhost/api/0001/store/http%3A%2F%2Fexample.com%2FSomething
http://localhost/api/0001/store/http://example.com/Something
// and other variations
サーバー側で処理するために、完全にエンコードされた URI を渡したいと考えています。どうすればSlimでそれを行うことができますか?
ノート:
他のタイプの HTTP リクエスト (POST、PUT) は、この特定の問題では機能しません。
URI を再フォーマット (シリアル化) することで解決できますが、これが最後の手段であることを願っています。
重要な編集 - 回答
したがって、上記はフレームワークのバグであり、現在テストされており、うまくいけば修正され、すぐにリリースされることがわかりました。サーバー側に到達する前に URI をシリアル化することで、問題を一時的に解決しました。