【问题标题】:Absolute URL in template returns localhost in email templates模板中的绝对 URL 在电子邮件模板中返回 localhost
【发布时间】:2022-09-29 22:33:07
【问题描述】:

我在通过 symfony 命令触发的 twig 电子邮件模板中使用 absolute_url 函数定义 here,但路径仅返回 localhost/route 而不是完整的 URL http://abc.local/route

<a href=\"{{ absolute_url(\'downloads\') }}\">download</a>

我在这里想念什么?

    标签: php twig symfony-2.8


    【解决方案1】:

    Symfony-5.4 的解决方案

    在命令中生成 URL 与在服务中生成 URL 相同。唯一的区别是命令不在 HTTP 上下文中执行。因此,如果您生成绝对 URL,您将获得 http://localhost/ 作为主机名,而不是您的真实主机名。

    解决方案是配置default_uri 选项来定义命令在生成 URL 时使用的“请求上下文”: 上配置/包/路由.yaml添加真实主机的URL。

    # config/packages/routing.yaml    
    framework:
        router:
            # ...
            default_uri: 'https://example.org/my/path/'
    

    在 Symfony 5.1 中引入了 default_uri 选项。

    参考请看官方文档。 https://symfony.com/doc/5.4/routing.html#generating-urls-in-commands

    【讨论】:

      猜你喜欢
      • 2011-05-01
      • 2015-06-03
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多