【问题标题】:Redirecting before Symfony2 routingSymfony2 路由之前的重定向
【发布时间】:2015-12-04 17:43:40
【问题描述】:

我正在开发一个高流量/高搜索引擎优化的网站。现在我们只是在 actions 开始时进行 redirects,但它有点慢。

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

【问题讨论】:

  • 你能在你的 index.php(或 app_dev.php 或 app.php)中做吗?你不需要引导 Symfony 来做到这一点。

标签: php .htaccess symfony apache2 symfony-routing


【解决方案1】:

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

$response = new RedirectResponse($url);

$event->setResponse($response);

【讨论】:

    【解决方案2】:

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

    首先,请描述您的应用程序,有一个非常棒的工具叫做 Blackfire,它是由制造 Symfony 的同一家公司制造的。有了它,您可以准确地确定性能瓶颈在哪里,没有它,我们只能猜测。

    会不会是查询时间太长了,如果是,那就优化一下吧。

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

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

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

    和

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2013-01-20
      • 2019-12-25
      相关资源
      最近更新 更多