Symfony 登录ESI组件中的缓存页面会在/\u internal/secure/../none.html上重定向
我刚刚设置了varnish,在投入生产之前,我在8080端口上做了一些测试 我注意到,如果我在缓存页面上:Symfony 登录ESI组件中的缓存页面会在/\u internal/secure/../none.html上重定向,symfony,varnish,esi,Symfony,Varnish,Esi,我刚刚设置了varnish,在投入生产之前,我在8080端口上做了一些测试 我注意到,如果我在缓存页面上: /** * @Cache(smaxage="10800") * @Route("/{_locale}/", name="homepage2", requirements={"_locale" = "en|fr"}) * @Template() */ public function indexAction() { return array(); } 我尝试通过ESI中包含的
/**
* @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 } %}
它最终将我重定向到一个没有样式、没有标题的页面上,url…:8080/\u internal/secure/MyBundleHomeBundle:Home:login/none.html
/
如果我回到主页,我就登录了
我怎样才能避免呢
编辑:
在分析中的问题后,我发现安全成功重定向的\u target\u path
以下一种方式生成:
<input type="hidden" name="_target_path" value="{{ app.request.uri }}" />
在控制器中,只需将其传递给视图
public function yourAction ($uri)
{
...
return array('uri' => $uri);
}
在模板中使用它
<input type="hidden" name="_target_path" value="{{ uri }}" />
愉快!;) 在分析中的问题后,我发现安全成功重定向的\u target\u path
以下一种方式生成:
<input type="hidden" name="_target_path" value="{{ app.request.uri }}" />
在控制器中,只需将其传递给视图
public function yourAction ($uri)
{
...
return array('uri' => $uri);
}
在模板中使用它
<input type="hidden" name="_target_path" value="{{ uri }}" />
愉快!;) 只是为了确定-您是否忘了在routing.yml
中包含\u internal
路由?是的,我确定,我已经取消了“routing.yml中的内部路由”的注释,您使用的是什么-nginx还是apache?@theCatoneftFlat Apache2您可以将配置上传到某个地方吗?只是为了确定-您是否忘了将\u internal
路由包含在routing.yml
中?是的,我确定,我已经在routing.yml中取消了对_internalroute的注释,您使用的是-nginx还是apache?@thecatonefflat apache2您可以将您的配置上传到某个地方吗?我的VCL如下:我没有转发端口,但我有req.http.auth,这是使用ESI时必须记住的一点!!谢谢,我的VCL如下:我没有转发端口,但我有req.http.auth,这是使用ESI时必须记住的一件事!!谢谢