我刚刚设置了清漆,并且在切换到生产之前我已经在端口8080上完成了一些测试。
我注意到如果我在缓存页面上:
/**
* @Cache(smaxage="10800")
* @Route("/{_locale}/", name="homepage2", requirements={"_locale" = "en|fr"})
* @Template()
*/
public function indexAction()
{
return array();
}
我尝试通过ESI
{% render "GamerCertifiedHomeBundle:Home:login" with {}, { 'standalone': true } %}
它最终会将我重定向到没有样式且没有网址的网页...:8080/_internal/secure/MyBundleHomeBundle:Home:login/none.html
Step1 Screenshot / Step2 Screenshot
如果我回到主页,我已登录。
我该如何避免这种情况?
编辑:
答案 0 :(得分:1)
在the chat中分析问题后,我发现_target_path
安全成功重定向是以下一种方式在表单中生成的:
<input type="hidden" name="_target_path" value="{{ app.request.uri }}" />
由于这部分是使用独立视图呈现的 - 它具有特定的uri(带有_internal
前缀)。
您可以通过为app.request.uri
注射应用更改的逻辑来避免这种情况。
将其传递给控制器:
{% render yourAction with {'uri': app.request.uri}, {'standalone': true} %}
在您的控制器中将其传递给您的视图
public function yourAction ($uri)
{
...
return array('uri' => $uri);
}
在模板中使用
Enjoiy! ;)