我想使用Twig函数url()
生成以https://
为前缀的URL。但是,生成的URL始终为http://
。
我做了这里给出的设置:https://symfony.com/doc/6.2/routing.html#forcing-https-on-generated-urls。
我的config/packages/framework.yaml
:
framework:
http_method_override: false
handle_all_throwables: true
...
字符串
我的config/routes.yaml
:
controllers:
resource:
path: ../src/Controller/
namespace: App\Controller
type: attribute
defaults: [https] // note HTTPS here
型
我正在使用PROD环境。
我的.env
文件是:
APP_ENV=prod
APP_URL=https://something... // note HTTPS here
型
已使用prod选项清除缓存。
但是,当我使用twig模板时:
{{ url('my_route') }}
型
所生成的路由是正确的,但仍然在http
(而不是https
)中。
我错过了什么吗?
3条答案
按热度按时间5ssjco0h1#
看这里:https://symfony.com/doc/current/routing.html#forcing-https-on-generated-urls你会发现你错过了配置中的
schemes
键。下面是给出的示例:字符串
或者按路由执行以下操作:
型
xzlaal3s2#
检查您的Web服务器(ngnix,apache等)配置,它在内部使用端口
80
有一个技巧来测试:注解掉
listen 80
,如果您的站点不可用,则意味着它使用端口80
4c8rllxm3#
找到了。使用
{{ absolute_url(path('my_route')) }}
修复了它。我的链接使用https://
方案呈现。谢谢大家的回复。我想我从Arleigh Hix建议中所做的修复也是我问题的一部分。