通常どおりリダイレクトを実行すると、次のようになります。
$this->redirect('@mypage?apple=1&banana=2&orange=3');
... symfony は正しい URL を生成します:
/something/something?apple=1&banana=2&orange=3
ただし、以下は奇妙な理由でエスケープされます。
$string = 'apple=1&banana=2&orange=3';
$this->redirect('@mypage?'.$string);
...そして、次の URL が生成されます。
/something/something?apple=1&banana=2&orange=3
このエスケープを回避し、アンパサンドを URL に正しく表示する方法はありますか? 考えられることはすべて試しましたが、気が狂いそうです。これは、保存されたクエリをデータベースから文字列として取得し、それを URL にラッチしたい場合に必要です。文字列から配列を生成し、その配列からまったく新しい URL を生成できることは承知していますが、このばかげたエスケープのせいで、多くのオーバーヘッドが発生しているように思えます。
ありがとう。