0

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

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

4

2 回答 2

0

当然可以,创建一个优先级高于 32 的侦听器(这是路由器侦听器的优先级),然后从那里重定向:

$response = new RedirectResponse($url);

$event->setResponse($response);

于 2015-12-04T21:19:43.940 回答
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

于 2015-12-04T21:35:51.773 回答