1
Symfony3アプリケーションの機能テストを書いていますが、コントローラから返されたデータを受け取ることができないという問題があります。コントローラの呼び出しのたびに301リダイレクトが返されます。私は気づいた、コントローラの呼び出しのすべての適切なコントローラにリダイレクトを担当するsetTargetUrlメソッドでRedirectResponseクラスも呼び出すことに気づいた。ユーザーとしてアプリケーションを使用するとすべてがうまくいくが、クローラーはリダイレクトに関する情報しか返さない。ここでコントローラレスポンスの適切な内容にアクセスできない
は一例です:
私の試験方法:
public function testListController()
{
$client = static::createClient();
$crawler = $client->request('GET', '/list');
print_r($client->getResponse());
}
方法返します
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="1;url=https://localhost/list/" />
<title>Redirecting to http://localhost/list/</title>
</head>
<body>
Redirecting to <a href="http://localhost/list/">https://localhost/list/</a>.
</body>
私はページの適切なコンテンツにアクセスすることができないのはなぜ?すべてのフックが無効になっており、コントローラにアクセスする前に私が呼び出す方法はありません。
はあなたがGET /リストまたは類似した何かを呼び出すことができます前に、通常は、ログインする一つの必要性のでしょうか? – LBA
あなたのWebサーバー、mod_rewriteまたはアプリケーションが、後続のスラッシュ '/'を使用してURLを後続のスラッシュにリダイレクトすることができますか? –
次のように、ルートの最後に '/'をつけて試してください: '$ client-> request( 'GET'、 '/ list /');'そうなら、あなたのルート定義をチェックしてください。 – Matteo