在Symfony2路由之前重定向

时间:2015-12-04 17:43:40

标签: php .htaccess symfony apache2 symfony-routing

我正在开发高流量/高搜索量的网络。现在我们只是在操作的开始时进行重定向,但它有点慢。

在路由之前是否有办法挂钩并在那里进行重定向(我们已经进行了Redis查询以了解网址是否为301)?也许就是在之前甚至是Symfony。

2 个答案:

答案 0 :(得分:0)

Sure you can, create a listener with a priority higher than 32 (which is the router listener's priority) and then redirect from there:

$response = new RedirectResponse($url);

$event->setResponse($response);

答案 1 :(得分:0)

你确实需要提供更多信息,我看到了几件事。

首先,请描述您的应用程序,有一个非常好的工具叫做Blackfire,由制造Symfony的同一家公司制作。有了这个,你就可以精确地确定性能瓶颈的位置,没有它,我们只能猜测一下。

可能是查询花了太长时间,如果是,那么优化它。

可能是网络延迟吗?也许你有一个服务器集群,其中用户进行DNS查找,访问服务器是美国,但随后你将他重定向到另一个站点,导致对欧洲服务器或类似的服务器进行不同的DNS查找。

最后,它可能是Symfony和Php本身吗?在这种情况下,我建议您将网络服务器直接连接到Redis,例如Nginx或Varnish,例如

https://github.com/openresty/redis2-nginx-module#readme

https://www.varnish-cache.org/vmod/redis