2

谷歌以及 Symfony Docs 和 Cookbook 都没有提供帮助。

假设我们有一个http://www.example.com运行在 Symfony2 上的网站,我们正在使用位于http://example.externalservice.com.

我们现在认为创建一个指向外部常见问题解答服务的路由是一个合适的解决方案,这将导致类似的结果:

# ../config/routing.yml
[...]

info.faq:
    url: http://example.externalservice.com     # Surely isn't working

[...]

这是因为在中期内可能需要用位于应用程序中的自制解决方案替换支持服务。这条路线用于各种页面,因此当支持服务发生变化时,硬编码或全部替换它们不是一种选择。

所以,我的问题是:

  • 这是正确的方法还是我们应该使用 TWIG 扩展和位于 或 中的parameters.yml参数config.yml
  • 如果是正确的方法,是否可以在不修改路由组件本身的情况下创建这样的路由?

先感谢您。

4

2 回答 2

3

来自 Symfony2 文档:

root:
    path:  /
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: http://www.google.fr
        permanent: true

有关重定向的更多信息,请阅读以下文档:

如何在没有自定义控制器的情况下配置重定向到另一条路由

于 2013-07-04T12:09:02.170 回答
1

在你的 parameters.yml 添加

external_url: http://example.externalservice.com 

然后在你的控制器中:

$url = $this->container->getParameter('external_url');
return $this->redirect($url);
于 2013-07-04T13:18:49.490 回答