0

以下に示す1つのデフォルトコントローラーを作成しました

namespace Mytest\VameBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

class DefaultController extends Controller
{
public function indexAction()
{
    return $this->redirect($this->generateUrl('home'));
}

public function myactionAction($name)
{
    return new Response('<html><body>'.$name.'</body></html>');
}

}

ルーティング ファイルは次のようになります。

use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;


$collection = new RouteCollection();

$collection->add('name', new Route('/vame',array(
    '_controller' => 'MytestVameBundle:Default:index',
    )));

$collection->add('home', new Route('/vame/{name}',array(
    '_controller' => 'MytestVameBundle:Default:myaction',
    'name' => 'hhhhhhhhhh',

)));

return $collection;

次のエラーが表示されます

ページが正しくリダイレ​​クトされていません

私がやりたいことは、デフォルトのコントローラーが index アクションで呼び出されると、1 つの引数で myaction アクションにリダイレクトされることです。

だから助けてください...

4

1 に答える 1

5

アプリが、完了しない方法でリクエストをリダイレクトします。したがって、ある種のリダイレクトループがあります。

あなたのコードは問題ないようです。ただし、ルーティング ファイルにパラメーターをハードコードするべきではありませんが、このようにします。

$this->redirect($this->generateUrl('home', array('name' => 'test')));

他にルーティング定義がありますか? お互いに干渉しているのかもしれません。ログを投稿できますか?

于 2013-02-16T06:36:27.253 に答える